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

前台代码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. RFC外部断点在在SAP退出后会失效

    rfc外部断点系统退出后会删除吗?  不会删除Rfc外部断点在在SAP退出后标识还在, 但是断点会失效! 附 断点消息: ABAP 中的断点分为静态和动态两种.一. 静态断点(Static Break ...

  2. hihoCoder 1582 Territorial Dispute 【凸包】(ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛)

    #1582 : Territorial Dispute 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 In 2333, the C++ Empire and the Ja ...

  3. 对于iOS 7 隐藏特性和解决之道

    当 iOS7 刚发布的时候,全世界的苹果开发人员都立马尝试着去编译他们的app,接着再花上数月的时间来修复任何出现的故障,甚至重做app.这样的结果,使得人们根本无暇去探究 iOS7 所带来的新东西. ...

  4. java包和javax包的区别

    基本类库和扩展类库 一般的lang,util都放在java.包 servlet放在javax包 以前sun把java中的叫核心库,把javax中的叫扩展库.现在sun已经把java和javax中的都叫 ...

  5. ElementUI的Upload上传,配合七牛云储存图片

    七牛云服务器的储存区域 存储区域 地域简称 上传域名 华东 z0 服务器端上传:http(s)://up.qiniup.com 华东 z0 客户端上传: http(s)://upload.qiniup ...

  6. ES6 中的let 声明变量

    1.let是声明的是块级变量,不会污染全局,一般条件与循环中会用到: 2.let  不可以变量提升: 3.let不遵循作用域,一个作用域内如果有该变量,就不会到全局去找,也不可以在一个作用域重复声明一 ...

  7. 深入理解WeakHashmap

    转自:http://mikewang.blog.51cto.com/3826268/880775 (一) 查看API文档,WeakHashmap要点如下: 1. 以弱键 实现的基于哈希表的 Map.在 ...

  8. Java常用数据结构和算法

    二叉树: 1.每个结点不能多于两个子树: 2.一颗平衡二叉树的深度要比及结点个数N小得多. 二叉查找树: 1.结点x的所有左子树的值小于x,所有右子树的值大于x: AVL树: 1.一种带有平衡条件的二 ...

  9. Mixing Milk

    链接 分析:水题,按照价格从小到大排序,在进行贪心即可 /* PROB:milk ID:wanghan LANG:C++ */ #include "iostream" #inclu ...

  10. LRESULT 数据类型

    MSDN: Signed result of message processing. This type is declared in WinDef.h as follows: typedef LON ...