原创 Repeater radio 单选和多选混合
希望高手朋友给我留下美好的意见,在此先感谢您!
前台代码repeater:
<script src="../Scripts/jquery-1.9.1.js"></script>
<script type="text/javascript"> function SelectOption(selopt) {
var tempopt = $("#selopts").val();
if (tempopt.indexOf(selopt.lang) != -) { var temp1 = tempopt.split(',');
for (var i = ; i < temp1.length; i++) {
if (temp1[i].indexOf(selopt.lang) !=-) {
temp1[i] = selopt.lang + ":" + selopt.value;
}
}
var data = "";
for (var i = ; i < temp1.length; i++) {
if (temp1[i] != '') {
data += temp1[i] + ",";
} }
$("#selopts").val(data);
//alert($("#selopts").val());
}
else {
tempopt += selopt.lang + ":";
tempopt += selopt.value + ",";
$("#selopts").val(tempopt);
//alert($("#selopts").val()+'bbbbbbbbbb');
}
} function SelectOption1(selopt) {
if (selopt.checked = true) {
var tempopt = $("#selopts").val();
if (tempopt.indexOf(selopt.lang + ":" + selopt.value + ",") != -) {
//alert(selopt.lang + ":" + selopt.value + ",");
var temp = tempopt.replace(selopt.lang + ":" + selopt.value + ",", " ");
selopt.checked = false;
$("#selopts").val(temp);
// alert($("#selopts").val());
}
else {
var tempopt = $("#selopts").val();
tempopt += selopt.lang + ":";
tempopt += selopt.value + ",";
$("#selopts").val(tempopt);
}
}
}
</script>
<table>
<asp:Repeater ID="QuestionsInfo" runat="server">
<HeaderTemplate>
<tr><th>题目:</th></tr>
</HeaderTemplate>
<ItemTemplate>
<ItemTemplate> <tr>
<%-- <td><input type="radio" name='<%#Eval("ISMultiple")%>' onclick="SelectOption(this)" value='<%#Eval("OptionCode")%>' /></td>--%>
<td><%#Eval("First")%></td>
<td><%#Eval("second")%></td>
<%-- <td><input type="radio" name='<%#Eval("ISMultiple")%>' onclick="SelectOption(this)" value='<%#Eval("OptionCode")%>' /></td>--%> </tr>
</ItemTemplate>
</ItemTemplate>
</asp:Repeater>
</table> <div stype="float:right">
<asp:LinkButton ID="lkbtnOK" runat="server" OnClick="lkbtnOK_Click">确定</asp:LinkButton>
</div> <input type="hidden" runat="server" id="selopts"/>
后台代码
public void BindQuestion(string ExamTitleCode, string ExamTitle)
{ List<temp> list = new List<temp>();
// temp temp = new WebApplication1.temp(); //获得所有题目
var Questionssql = "select * from "; var Questionsdt = helps.GetDataTable(Questionssql );
var QuestionsCount = Questionsdt.Rows.Count; for (int i = ; i < QuestionsCount; i++)
{ temp temp = new temp();
temp.First = Questionsdt.Rows[i]["Questions"].ToString();
temp.Second = "";
list.Add(temp); var QuestionsID = Questionsdt.Rows[i]["QuestionsID"].ToString();
var MultipleChoice = Questionsdt.Rows[i]["MultipleChoice"].ToString(); //题目的所有选项
var AllOptionssql = "select * from Questions_Option where QuestionsID='" + QuestionsID + "'";
var AllOptiondt = helps.GetDataTable(AllOptionssql); var AllOptionCount = AllOptiondt.Rows.Count; for (int j = ; j < AllOptionCount; j++)
{ temp = new temp();
var OptionCode = AllOptiondt.Rows[j]["OptionCode"].ToString();
var OptionName = AllOptiondt.Rows[j]["OptionName"].ToString();
//var Option
if (MultipleChoice == "")
{
temp.First = "<input type='radio' onclick='SelectOption1(this)' lang='" + QuestionsID + "' value='" + OptionCode + "' />";
}
else
{
temp.First = "<input type='radio' name='" + QuestionsID + "' lang='" + QuestionsID + "' onclick='SelectOption(this)' value='" + OptionCode + "' />";
}
temp.Second = OptionName;
list.Add(temp);
} }
QuestionsInfo.DataSource = ToDataTable(list);
QuestionsInfo.DataBind();
} /// <summary>
/// 将集合类转换成DataTable
/// </summary>
/// <param name="list">集合</param>
/// <returns></returns>
public static DataTable ToDataTable(IList list)
{
DataTable result = new DataTable();
if (list.Count > )
{
PropertyInfo[] propertys = list[].GetType().GetProperties();
foreach (PropertyInfo pi in propertys)
{
result.Columns.Add(pi.Name, pi.PropertyType);
} for (int i = ; i < list.Count; i++)
{
ArrayList tempList = new ArrayList();
foreach (PropertyInfo pi in propertys)
{
object obj = pi.GetValue(list[i], null);
tempList.Add(obj);
}
object[] array = tempList.ToArray();
result.LoadDataRow(array, true);
}
}
return result;
} List<temp> list = new List<temp>();
protected void lkbtnOK_Click(object sender, EventArgs e)
{
var AnswerOptions = this.selopts.Value;
string[] str=AnswerOptions.Split(','); for (var i = ; i < str.Length; i++)
{
if (str[i] != "")
{
temp tp = new WebApplication1.temp();
var tempstr = str[i].Split(':');
if (list.Count == )
{
tp.First = tempstr[];
tp.Second = tempstr[];
list.Add(tp);
}
else
{
for (var j = ; j < list.Count; j++)
{
if (tempstr[] == list[j].First)
{
list[j].Second = list[j].Second + "," + tempstr[];
break;
}
else if (j == list.Count - )
{
tp.First = tempstr[];
tp.Second = tempstr[];
list.Add(tp);
break;
}
}
} }
} for (int i = ; i < list.Count; i++)
{
SaveData(list[i].First, StrSort(list[i].Second));
}
InsertFinsh(); // InsertFinsh();
} public String StrSort(string Str)
{
var tempOption = Str.TrimEnd(',').Split(',');
var text = "";
if (tempOption.Length > )
{
Array.Sort(tempOption);
}
for (int i = ; i < tempOption.Length; i++)
{
if (i != tempOption.Length - )
{
text += tempOption[i] + ",";
}
else
{
text += tempOption[i];
}
}
return text;
}
原创 Repeater radio 单选和多选混合的更多相关文章
- Webfrom 生成流水号 组合查询 Repeater中单选与复选控件的使用 JS实战应用
Default.aspx 网页界面 <%@ Page Language="C#" AutoE ...
- Webfrom 生成流水号 组合查询 Repeater中单选与复选控件的使用 JS实战应用
Default.aspx 网页界面 <%@ Page Language="C#" AutoE ...
- 纯css3简单实用的checkbox复选框和radio单选框
昨天为大家分享了一款很炫的checkbox复选框和radio单选框,今天再给大家带来一款简单实用的checkbox复选框和radio单选框.界面清淅.舒服.先给大家来张效果图: 在线预览 源码下载 ...
- 纯css3实现的超炫checkbox复选框和radio单选框
之前为大家分享了好多css3实现的按钮.今天要为大家分享的是纯css3实现的checkbox复选框和radio单选框,效果超级炫.先让我们看看图吧! 在线预览 源码下载 这个实例完全由css3实现 ...
- css3更改input单选和多选的样式
在项目开发中我们经常会遇到需要更改input单选和多选样式的情况,今天就给大家介绍一种简单改变input单选和多选样式的办法. 在这之前先简单介绍一下:before伪类 :before 选择器向选定的 ...
- 关于通过jq /js 实现验证单选框 复选框是否都有被选中
今天项目中遇到一个问题 就是要实现,单选框,复选框 同时都被选中才能进行下一步的问题,开始用js原生来写 怎么写都觉得不合适,通过for循环得出 复选框被选中的,在通过for循环得出单选框被选中的,问 ...
- 使用 SVG 制作单选和多选框动画【附源码】
通过 JavaScript 实现 SVG 路径动画,我们可以做很多花哨的东西.今天我们要为您介绍一些复选框和单选按钮效果.实现的主要思路是隐藏原生的输入框,使用伪元素创造更具吸引力的样式,输入框被选中 ...
- HTML&CSS基础学习笔记1.24-input标签的单选与多选
单选和多选 单选框和多选框是用<input>标签来实现的. <input>标签的type属性值为"checkbox"时,表示多选框,为"radio ...
- jquery验证表单中的单选与多选
jquery验证表单中的单选与多选 这里所说的,用jquery去验证某一组多选至少要有一个选中,某一组单选至少有一个选中,,大家都知道单一的一个用js比较好验证,但是想要用jquery的验证并且用到j ...
随机推荐
- luogu3373 【模板】线段树2
题目大意: 已知一个数列,你需要进行下面三种操作:1.将某区间每一个数乘上x2.将某区间每一个数加上x3.求出某区间每一个数的和 本线段树的标记是个二元组:add和mul,其代表将一个线段中的每一个点 ...
- 控制cms:CMSDropDownList的width
查找了一下kentico内部使用相关控件的代码,发现有2种方式,可以达到效果. 在我们自己的css class定义的地方,在class前面加上.cms-bootstrap .cms-bootstrap ...
- MYSQL初级学习笔记四:查询数据的操作DQL(SELECT基本形式)(26-35)
知识点六:查询数据的操作DQL(SELECT基本形式)(26-35) CREATE DATABASE IF NOT EXISTS cms DEFAULT CHARACTER SET utf8; USE ...
- html5--6-5 CSS选择器2
html5--6-5 CSS选择器2 实例 学习要点 掌握常用的CSS选择器 了解不太常用的CSS选择器 什么是选择器 当我们定义一条样式时候,这条样式会作用于网页当中的某些元素,所谓选择器就是样式作 ...
- [Silverlight 2.0 控制物体绕圆弧运行(C#初探篇)]
我自己写的第一个 Silverlight 2.0 程序 [Silverlight 2.0 控制物体绕圆弧运行(C#初探篇)] 程序运行时:小地球将绕着圆形轨迹做圆周运动. ...
- 添加.pch文件
完成框架, .pch文件 1.创建.pch文件 2.配置.pch文件 双击,改成:项目名/pch文件名
- 数据库几种Top子句的使用方法
转自:https://blog.csdn.net/melody_susan/article/details/47011331
- mfc实现对话框全屏置顶显示
一.MFC让对话框窗口始终在最前 方法一:在对话框的属性中,把SystemModal设置为True. 二.全屏显示 在CDialog7::OnInitDialog()中加入: 先取得分辨率, int ...
- ndoejs后台查询数据库返回的值-进行解析
JSON.parse(jsonstr); //可以将json字符串转换成json对象 JSON.stringify(jsonobj); //可以将json对象转换成json对符串
- 关于HTTP请求中更改body中传递的参数方法
更改body中传递的参数方法: String txId = UUID.randomUUID().toString().replaceAll("-", ""); ...