一、这是我做的调查问卷中的一个功能。(第三方MVC框架)

二、功能说明:1、用户点击星星,将值放到隐藏域中。2、用户可以重新点击星星修改回答。

前台JS代码:

<script type="text/javascript">
//鼠标点击
function picClick(obj) {
var hid = $(obj).parent().find("input[type='hidden']"); //赋值
hid.val($(obj).attr("val"));
hid.attr("num", $(obj).attr("num"));
hid.attr("title", $(obj).attr("title"));
} //鼠标移入
function picMouseOver(obj) {
$(obj).parent().find("img").attr("src", $(obj).attr("src1")); //全部置灰 //设置高亮图片
var currentNum = $(obj).attr("num");
for (var i = 0; i < currentNum; i++) {
$(obj).parent().find("img:eq(" + i + ")").attr("src", $(obj).attr("src2"));
} //显示文本
$(obj).parent().find("#spanResult").text($(obj).attr("title"));
} //鼠标移出
function picMouseOut(obj) {
$(obj).parent().find("img").attr("src", $(obj).attr("src1")); //全部置灰
$(obj).parent().find("#spanResult").text(""); //显示文本 var hid = $(obj).parent().find("input[type='hidden']");
if (hid.val()) {
//设置高亮图片
var currentNum = hid.attr("num");
for (var i = 0; i < currentNum; i++) {
$(obj).parent().find("img:eq(" + i + ")").attr("src", $(obj).attr("src2"));
} //显示文本
$(obj).parent().find("#spanResult").text(hid.attr("title"));
}
}
</script>

Controller代码:

#region 创建单选图片控件
/// <summary>
/// 创建单选图片控件
/// </summary>
/// <param name="title">标题</param>
/// <param name="list">选项</param>
/// <param name="num">题号</param>
/// <param name="evaItemId">指标ID</param>
/// <param name="picUrl">图片URL</param>
/// <param name="edu_EvaluationRecordList">答题集合</param>
/// <param name="disabled">是否可编辑</param>
public static string CreatePicGroup(string title, List<Edu_CodeValue> list, int num, int evaItemId, string picUrl, List<Edu_EvaluationRecord> edu_EvaluationRecordList, bool disabled)
{
string[] picUrlArray = picUrl.Split('|');
string pic1 = "";
string pic2 = "";
if (picUrlArray.Length >= )
{
pic1 = picUrlArray[];
pic2 = picUrlArray[];
}
else if (picUrlArray.Length >= )
{
pic1 = picUrlArray[];
pic2 = picUrlArray[];
}
else { } StringBuilder sb = new StringBuilder();
sb.Append("<div style='margin-top:10px; margin-bottom:30px; margin-left:5px; margin-right:5px;'>");
sb.Append("<div>" + num.ToString() + "、" + title + "</div>"); string strText = "";
int selIndex = -;
int k = ;
foreach (Edu_CodeValue item in list)
{
k++;
if (edu_EvaluationRecordList != null
&& edu_EvaluationRecordList.Exists(a => a.OptionId == item.Id && a.EvaItem != null && a.EvaItem.Id == evaItemId))
{
selIndex = k;
strText = item.Remarks;
break;
}
} sb.Append("<div style='margin-top:5px; margin-left:10px;'>");
int i = ;
foreach (Edu_CodeValue item in list)
{
i++; string strCheckPic = pic1;
if (selIndex != - && i <= selIndex)
{
strCheckPic = pic2;
} if (!disabled)
{
sb.Append("<img num='" + i + "' alt='" + item.Remarks
+ "' title='" + item.Remarks + "' val='" + item.Val
+ "' src='" + strCheckPic + "' src1='" + pic1 + "' src2='" + pic2
+ "' style='cursor:pointer;'"
+ " onclick='picClick(this)' onmouseover='picMouseOver(this)' onmouseout='picMouseOut(this)'/>");
}
else
{
sb.Append("<img alt='" + item.Val + "' src='" + strCheckPic + "' style='margin-left:3px;' />");
}
}
sb.Append("<span id='spanResult' style='margin-left:10px;'>" + strText + "</span>");
sb.Append("<input name='" + evaItemId + "' type='hidden' num='' title='' />");
sb.Append("</div>"); sb.Append("</div>"); return sb.ToString();
}
#endregion

效果图:

jQuery实现星星评分功能的更多相关文章

  1. jquery--实现类似淘宝星星评分功能

    -   不正之处,欢迎指正.^-^.好绕的话 贴码.html <body> <div id="div"> <ul> <li>☆< ...

  2. vue2.0实现前端星星评分功能组件

    <template id="pingJia"> <div> <ul> <li :class="{li1:1,bg1:index% ...

  3. HTML5商城开发三 jquery 星星评分插件

    展示:

  4. 微信小程序——星星评分

    先来个效果图镇楼: 实现原理: 1.循环需要评分的列表,判断它的分数 与 当前星星索引的大小: 2.点击,获取星星对应的分数,让星星高亮. 代码: star.wxml: <view class= ...

  5. jQuery动态星级评分效果实现方法

    本文实例讲述了jQuery动态星级评分效果实现方法.分享给大家供大家参考.具体如下: 这里的jQuery星级评分代码,是大家都很喜欢的功能,目前广泛应用,本星级评分加入了动画效果,注意,如果要真正实现 ...

  6. 手动实现jQuery Tools里面tab功能

    平时开发中用的Javascript类库都是jQuery,用到插件或者第三方类库能从jQuery Tools里面找到,基本不用其他的.当然有时同事喜欢使用jQuery UI里面的插件.并且jQuery ...

  7. jquery 回车切换 tab功能

    挺有趣的,Jquery 回车切换tab功能的实现哦 <html> <head><!--jquery库.js--></head> <body> ...

  8. jQuery动态五星评分

    效果 css .star ul, .star li { list-style: none; } .star { position: relative; width: 600px; height: 24 ...

  9. iOS评分功能、APP中打开其他应用程序

    1.评分功能 iOS中评分支持功能开发非常简单. NSString *str = [NSString stringWithFormat: @"itms-apps://itunes.apple ...

随机推荐

  1. Code First 中使用 ForeignKey指定外键时总是显示未引用

    Code First 中使用 ForeignKey指定外键时总是显示未引用 原因是:开发环境是在.NET 4.0 修改项目,改为.net 4.5

  2. github 使用记录

    安装客户端tortoiseGit 是服务端,要想在自己电脑上使用git我们还需要一个git客户端,我这里选用TortoiseGit,他给我们提供了图形界面的操作.在安装之前首先需要安装git,下载地址 ...

  3. 笔记《Hbase 权威指南》

    为什么要用Hbase- Hbase的诞生是因为现有的关系型数据库已经无法在硬件上满足疯狂增长的数据了,而且因为需要实时的数据提取Memcached也无法满足- Hbase适合于无结构或半结构化数据,适 ...

  4. ffrpc的php客户端lib

    摘要: ffrpc 是c++异步通讯库,使用ffrpc可以非常容易的构建服务器程序.为了使用方便,ffrpc提供了python.php的客户端lib,这样使用php于c++构建的server也是顺手拈 ...

  5. SAP ECC FI配置文档

    SAP ECC 6.0 Configuration Document Financial Accounting (FI) Table of Content TOC \O "1-2" ...

  6. 物料分类账 [COML] PART 2 - 总体流程

    核心流程概要: [1]. 分类账在物料主数据的影响 首先描述下SAP中物料价格的 物料主数据相关的几个点: q价格控制(Price Control): 决定物料计价方式. S 标准价格(Standar ...

  7. 8个经典HTML5 3D动画赏析

    HTML5技术已经越来越被我们所接受,特别是一些3D的动画特效.本文介绍的8个HTML5 3D动画并没有特别华丽的界面,但是比较实用,涉及到3D图片.3D图表.3D按钮等方面,一起来看看. 1.HTM ...

  8. Spark和hadoop的关系

    1. Spark VSHadoop有哪些异同点? Hadoop:分布式批处理计算,强调批处理,常用于数据挖掘和数据分析. Spark:是一个基于内存计算的开源的集群计算系统,目的是让数据分析更加快速, ...

  9. android 模拟器

    参考:http://www.syscs.com/node/504 --skin WVGA800 - -no-boot-anim -wipe-: the dpi for the device you a ...

  10. mysql DB server端,如何让读写更快

    其实,我不是专业的DB管理同学,甚至算不上会了解.只是在最近的工作中,遇到了DB server端优化的契机,所以把这些手段记录下来: 通过调整这个参数的值,可以让DB更给力: 这两个参数的含义: 1. ...