扩展出来的多行动态星星评分,求JS

在这个案例中-https://help.finereport.com/doc-view-1925.html只有一行,如果是扩展出来的多行JS应该怎么写?

xiaoxing2315 发布于 2020-8-6 20:58
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
豆豆小可爱Lv5中级互助
发布于2020-8-7 11:49

鼠标滑过不适合多行,比较乱的感觉,建议只采取点击的方式,可参考

实现填报中的动态星星评分效果.cpt

$("td").click(function() {
	//鼠标点击单元格,即选中星星时
	var $td = $(this);
	var rownum = parseInt($td.attr('row'));
	var col = parseInt($td.attr('col'));
	if (col > 0 && col < 6) {
		//从第2列到第6列,对应的col为1-5
		for (var i = 1; i <= col; i++) {
			$("td[row="+ rownum +"][col=" + i + "]").css('background', "url(/webroot/help/picture/on.png) no-repeat 50% 50%");
		};
		//在此单元格之前的星星为选中状态
		for (var i = col + 1; i < 6; i++) {
			$("td[row="+ rownum +"][col=" + i + "]").css('background', "url(/webroot/help/picture/off.png) no-repeat 50% 50%");
		};
		var score = contentPane.curLGP.getCellValue(6,rownum) * 1;
		if (score >= 1) {
			for (var i = 1; i <= score; i++) {
				$("td[row="+ rownum +"][col=" + i + "]").css('background', "url(/webroot/help/picture/on.png) no-repeat 50% 50%");
			};
			//如果上次评分了,那么设置评分的星星为选中状态
		}
		var score = parseInt($td.attr('cv'));
		contentPane.setCellValue(6,rownum,score);
	}
	//点击选中星星,给G2单元格设置值
})


  • 2关注人数
  • 695浏览人数
  • 最后回答于:2020-8-7 11:49
    请选择关闭问题的原因
    确定 取消
    返回顶部