原创 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 ...
随机推荐
- mmwave
毫米波(mmWave) 致力于支持5G应用创新开发,集成在BEEcube BEE7基带平台上的赛灵思256QAM毫米波调制解调器IP为宽带回程原型设计提供完整的开箱即用型解决方案 赛灵思公司 (NAS ...
- FZU1977 Pandora adventure —— 插头DP
题目链接:https://vjudge.net/problem/FZU-1977 Problem 1977 Pandora adventure Accept: 597 Submit: 2199 ...
- HDU 1081:To The Max
To The Max Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- Python中的sort() key含义
sorted(iterable[, cmp[, key[, reverse]]]) iterable.sort(cmp[, key[, reverse]]) 参数解释: (1)iterable指定要排 ...
- Redhat 安装perl模块
CPAN上下载要安装的模块 解压 gzip -d DBD-mysql-4.006.tar.gz tar xvf DBD-mysql-4.006.tar 然后进入DBD-mysql-4.006目录,执行 ...
- 书写优雅的shell脚本(一)- if语句
使用unix/linux的程序人员几乎都写过shell脚本,但这其中很多人都是为了完成功能而在网上找代码段,这样写出来的shell脚本在功能方面当然是没有什么问题,但是这样的方式不能写出优雅的shel ...
- Watir: Win32ole对于excel某些指令无法操作的时候有如下解决方案
Similar Threads 1. WIN32OLE - failed to create WIN32OLE 2. WIN32OLE#[] and WIN32OLE#[]= method in Ru ...
- 数据库备份脚本.sh
#!/bin/bash #auto bakcup mysql db BAK_DIR=/data/backup/mysql/`date +%Y-%m-%d` MYSQL_DB=数据库名 MYSQL_PW ...
- const常量
1.不能给常量赋值 ; a=; 编译器报错:“a”: 不能给常量赋值
- Java调用Static修饰的本类方法
public class Dy { public static void main(String[] args){ int a=6; int b=5; int result=0; result=Add ...