原创 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 ...
随机推荐
- iOS中UIPickerView常见属性和方法的总结
UIPickerView是iOS中的原生选择器控件,使用方便,用法简单,效果漂亮. @property(nonatomic,assign) id<UIPickerViewDataSource&g ...
- springboot 项目 docker化部署
最近公司项目需要docker化,项目所使用的框架是springboot,linux环境.第一次接触docker化方面的技术.做的时候,所接触的新知识比较多,留下此文,以便以后用到的时候快速入手. 修改 ...
- Java 网络处理(net io URL 等)
1. URL 类 URL 类的两个重要方法: openStream():打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream. URL url = new URL(" ...
- BZOJ_4276_[ONTAK2015]Bajtman i Okrągły Robin_线段树优化建图+最大费用最大流
BZOJ_4276_[ONTAK2015]Bajtman i Okrągły Robin_线段树优化建图+最大费用最大流 Description 有n个强盗,其中第i个强盗会在[a[i],a[i]+1 ...
- phpstorm 10 初体验
一:安装phpstorm 10 去phpstorm 10官网下载,安装 https://www.jetbrains.com/phpstorm/ 按照提示安装,最后注册步骤,选择“License ser ...
- CreateRemoteThread注入DLL
DLL注入的常用方式之一远程线程注入,实现代码如下 // CreateRemoteThread.cpp : Defines the entry point for the application.// ...
- Python之路,Day13 - 堡垒机
项目实战:运维堡垒机开发 前景介绍 到目前为止,很多公司对堡垒机依然不太感冒,其实是没有充分认识到堡垒机在IT管理中的重要作用的,很多人觉得,堡垒机就是跳板机,其实这个认识是不全面的,跳板功能只是堡垒 ...
- c#操作rabbitmq
今天将会介绍如果使用rabbitmq进行简单的消息入队,出队操作,因为本文演示的环境要用到上文中配置的环境,所以要运行本文sample,请先按上一篇中完成相应环境配置. 首先,我们下载 ...
- 洛谷 - P2774 - 方格取数问题 - 二分图最大独立点集 - 最小割
https://www.luogu.org/problemnew/show/P2774 把两个相邻的节点连边,这些边就是要方便最小割割断其他边存在的,容量无穷. 这种类似的问题的话,把二分图的一部分( ...
- hdoj1789【贪心】
题意: 已知有n个作业,每个作业呢,都是一天可以做完,每个作业都有一个截止日期,每个作业如果超过他的截止日期会扣分,最后让你求一个怎么安排求得一个最小扣的分数. 比如现在有3个作业 截止日期:3 3 ...