jQuery实现星星评分功能
一、这是我做的调查问卷中的一个功能。(第三方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实现星星评分功能的更多相关文章
- jquery--实现类似淘宝星星评分功能
- 不正之处,欢迎指正.^-^.好绕的话 贴码.html <body> <div id="div"> <ul> <li>☆< ...
- vue2.0实现前端星星评分功能组件
<template id="pingJia"> <div> <ul> <li :class="{li1:1,bg1:index% ...
- HTML5商城开发三 jquery 星星评分插件
展示:
- 微信小程序——星星评分
先来个效果图镇楼: 实现原理: 1.循环需要评分的列表,判断它的分数 与 当前星星索引的大小: 2.点击,获取星星对应的分数,让星星高亮. 代码: star.wxml: <view class= ...
- jQuery动态星级评分效果实现方法
本文实例讲述了jQuery动态星级评分效果实现方法.分享给大家供大家参考.具体如下: 这里的jQuery星级评分代码,是大家都很喜欢的功能,目前广泛应用,本星级评分加入了动画效果,注意,如果要真正实现 ...
- 手动实现jQuery Tools里面tab功能
平时开发中用的Javascript类库都是jQuery,用到插件或者第三方类库能从jQuery Tools里面找到,基本不用其他的.当然有时同事喜欢使用jQuery UI里面的插件.并且jQuery ...
- jquery 回车切换 tab功能
挺有趣的,Jquery 回车切换tab功能的实现哦 <html> <head><!--jquery库.js--></head> <body> ...
- jQuery动态五星评分
效果 css .star ul, .star li { list-style: none; } .star { position: relative; width: 600px; height: 24 ...
- iOS评分功能、APP中打开其他应用程序
1.评分功能 iOS中评分支持功能开发非常简单. NSString *str = [NSString stringWithFormat: @"itms-apps://itunes.apple ...
随机推荐
- 互联网的寒冬来了,BAT都不社招了
一 总理上次来到创业街,是四个月,要不就是五个月前了. 之后,全国创业形势一路走红,锣鼓喧天鞭炮齐鸣.大众创业万众创新,颇有大炼钢铁亩产万斤之势,尤其在媒体上. 再之后,2015 进入下半年,风投圈的 ...
- int跟byte[]数组互转的方法,整数 + 浮点型
整数: int转byte数组 public static byte[] intToBytes2(int n){ ]; ;i < ;i++) { b[i]=(-i*)); } return b; ...
- SQL Server 几种锁的区别
NOLOCK(不加锁) 此选项被选中时,SQL Server 在读取或修改数据时不加任何锁. 在这种情况下,用户有可能读取到未完成事务(Uncommited Transaction)或回 ...
- OllyICE 调试的程序无法处理异常 解决方法
问题描述 在用OllyICE打开可执行文件时出现如下图所示错误 解决方法 1. 选项 -> 调试设置 , 打开调试选项 2. 切换到 异常 页签 3. 取消勾选 忽略(传递给程序)以下异常: 单 ...
- SQL语句 - 嵌套查询
嵌套查询的意思是,一个查询语句(select-from-where)查询语句块可以嵌套在另外一个查询块的where子句中,称为嵌套查询.其中外层查询也称为父查询,主查询.内层查询也称子查询,从查询. ...
- U盘FAT32转换NTFS格式
运行----cmd----convert x:/fs:ntfs回车 x标识你的U盘或硬盘盘符 比如你的U盘是H盘,那就是h:/fs:ntfs FAT32----NTFS是不可逆转的转换.
- linux下批量查找/替换文本内容
一般在本地电脑上批量替换文本有许多工具可以做到,比如sublime text ,但大多服务器上都是无图形界面的,为此收集了几条针对linux命令行 实现批量替换文本内容的命令: 1.批量查找某个目下文 ...
- myeclipse 2013 SR2 for(MAC/WINDOWS)破解 注册过程
前天去官网下载的时候都还只是sr1,结果昨天去看居然有sr2了,之前一直在windows下用 2013,网上的注册机都还很好用.但最近换了mac,下载的sr1我却无论如何都没办法破解,下载了N个版本的 ...
- VisualSFM for Structure from Motion
VisualSFM是Changchang Wu编写的使用 Structure from Motion (SfM)进行3D重建的交互界面,具体内容详见http://homes.cs.washington ...
- java框架篇---spring AOP 实现原理
什么是AOP AOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善.OOP引入 ...