希望高手朋友给我留下美好的意见,在此先感谢您!

前台代码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 单选和多选混合的更多相关文章

  1. Webfrom 生成流水号 组合查询 Repeater中单选与复选控件的使用 JS实战应用

                                             Default.aspx 网页界面 <%@ Page Language="C#" AutoE ...

  2. Webfrom 生成流水号 组合查询 Repeater中单选与复选控件的使用 JS实战应用

                                             Default.aspx 网页界面 <%@ Page Language="C#" AutoE ...

  3. 纯css3简单实用的checkbox复选框和radio单选框

    昨天为大家分享了一款很炫的checkbox复选框和radio单选框,今天再给大家带来一款简单实用的checkbox复选框和radio单选框.界面清淅.舒服.先给大家来张效果图: 在线预览   源码下载 ...

  4. 纯css3实现的超炫checkbox复选框和radio单选框

    之前为大家分享了好多css3实现的按钮.今天要为大家分享的是纯css3实现的checkbox复选框和radio单选框,效果超级炫.先让我们看看图吧! 在线预览   源码下载 这个实例完全由css3实现 ...

  5. css3更改input单选和多选的样式

    在项目开发中我们经常会遇到需要更改input单选和多选样式的情况,今天就给大家介绍一种简单改变input单选和多选样式的办法. 在这之前先简单介绍一下:before伪类 :before 选择器向选定的 ...

  6. 关于通过jq /js 实现验证单选框 复选框是否都有被选中

    今天项目中遇到一个问题 就是要实现,单选框,复选框 同时都被选中才能进行下一步的问题,开始用js原生来写 怎么写都觉得不合适,通过for循环得出 复选框被选中的,在通过for循环得出单选框被选中的,问 ...

  7. 使用 SVG 制作单选和多选框动画【附源码】

    通过 JavaScript 实现 SVG 路径动画,我们可以做很多花哨的东西.今天我们要为您介绍一些复选框和单选按钮效果.实现的主要思路是隐藏原生的输入框,使用伪元素创造更具吸引力的样式,输入框被选中 ...

  8. HTML&CSS基础学习笔记1.24-input标签的单选与多选

    单选和多选 单选框和多选框是用<input>标签来实现的. <input>标签的type属性值为"checkbox"时,表示多选框,为"radio ...

  9. jquery验证表单中的单选与多选

    jquery验证表单中的单选与多选 这里所说的,用jquery去验证某一组多选至少要有一个选中,某一组单选至少有一个选中,,大家都知道单一的一个用js比较好验证,但是想要用jquery的验证并且用到j ...

随机推荐

  1. (C)理解#define write(b,addr) (void)((*(volatile unsigned int *) (addr)) = (b))

      理解 #define write(b,addr) (void)((*(volatile unsigned int *) (addr)) = (b)) 嵌入式系统编程,要求程序员能够利用C语言访问固 ...

  2. ASP.NET统计图表控件

    近来客户需要将前段时间开发的统计信息用图表展示出来,还要多个图表类型,例如:柱状图.饼图.曲线图.三维图等等.在网上google了一下,发现了三个(也许更多)可以使用的控件.下面我们一起看看这三个控件 ...

  3. 关于encodeURIComponent的用法

    定义和用法 encodeURIComponent() 函数可把字符串作为 URI 组件进行编码. 语法 encodeURIComponent(URIstring) 参数  描述  URIstring  ...

  4. ng 表单提交验证

    http://www.runoob.com/try/try.php?filename=try_ng_validate

  5. Oracle的db.properties文件

    转自:https://blog.csdn.net/lssqk/article/details/79133829

  6. 出现"Unable to instantiate Action,xxxxx, defined for 'login' in namespace '/' xxxxx 解决办法

    转自:https://blog.csdn.net/heroful/article/details/17261169 问题原因: 在MyEclipse 利用SSH框架写程序,运行时出现 " U ...

  7. In-App Purchase Programming Guide----(六) ----Working with Subscriptions

    Working with Subscriptions Apps that use subscriptions have some additional behaviors and considerat ...

  8. View Programming Guide for iOS ---- iOS 视图编程指南(三)---Windows

    Windows Every iOS application needs at least one window—an instance of the UIWindow class—and some m ...

  9. k8s-StatefulSet控制器-十四

    一.StatefulSet概述 RC.Deployment.DaemonSet都是面向无状态的服务,它们所管理的Pod的IP.名字,启停顺序等都是随机的,而StatefulSet管理所有有状态的服务, ...

  10. 所读STL文章摘要集结

    在网上看了一些STL相关文章,这里将它们的摘要进行集结,方便以后查找. 1.黄常标,林俊义,江开勇.快速成形中STL文件拓扑信息的快速建立.2004 摘要:在分析现有建立拓扑信息方法的基础上,提出基于 ...