• 原创 Repeater radio 单选和多选混合


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

    前台代码repeater:

     1     <script src="../Scripts/jquery-1.9.1.js"></script>
     2     <script type="text/javascript">
     3 
     4         function SelectOption(selopt) {
     5             var tempopt = $("#selopts").val();
     6             if (tempopt.indexOf(selopt.lang) != -1) {
     7 
     8                 var temp1 = tempopt.split(',');
     9                 for (var i = 0; i < temp1.length; i++) {
    10                     if (temp1[i].indexOf(selopt.lang) !=-1) {
    11                         temp1[i] = selopt.lang + ":" + selopt.value;
    12                     }
    13                 }
    14                 var data = "";
    15                 for (var i = 0; i < temp1.length; i++) {
    16                     if (temp1[i] != '') {
    17                         data += temp1[i] + ",";
    18                     }
    19                     
    20                 }
    21                 $("#selopts").val(data);
    22                 //alert($("#selopts").val());
    23             }
    24             else {
    25                 tempopt += selopt.lang + ":";
    26                 tempopt += selopt.value + ",";
    27                 $("#selopts").val(tempopt);
    28                 //alert($("#selopts").val()+'bbbbbbbbbb');
    29             }
    30         }
    31 
    32 
    33 
    34         function SelectOption1(selopt) {
    35             if (selopt.checked = true) {
    36                 var tempopt = $("#selopts").val();
    37                 if (tempopt.indexOf(selopt.lang + ":" + selopt.value + ",") != -1) {
    38                     //alert(selopt.lang + ":" + selopt.value + ",");
    39                     var temp = tempopt.replace(selopt.lang + ":" + selopt.value + ",", " ");
    40                     selopt.checked = false;
    41                     $("#selopts").val(temp);
    42                    // alert($("#selopts").val());
    43                 }
    44                 else {
    45                     var tempopt = $("#selopts").val();
    46                     tempopt += selopt.lang + ":";
    47                     tempopt += selopt.value + ",";
    48                     $("#selopts").val(tempopt);
    49                 }
    50             }
    51         }
    52     </script>
    View Code
     1   <table>
     2             <asp:Repeater ID="QuestionsInfo" runat="server">
     3                 <HeaderTemplate>
     4                     <tr><th>题目:</th></tr>
     5                 </HeaderTemplate>
     6                 <ItemTemplate>
     7                    <ItemTemplate>
     8                       
     9                    <tr>
    10                       <%-- <td><input type="radio"  name='<%#Eval("ISMultiple")%>' onclick="SelectOption(this)"  value='<%#Eval("OptionCode")%>' /></td>--%>
    11                       <td><%#Eval("First")%></td>
    12                         <td><%#Eval("second")%></td>
    13                       <%--  <td><input type="radio" name='<%#Eval("ISMultiple")%>' onclick="SelectOption(this)"  value='<%#Eval("OptionCode")%>' /></td>--%>
    14                         
    15                     </tr>
    16                 </ItemTemplate>
    17                 </ItemTemplate>
    18             </asp:Repeater>
    19         </table>
    20 
    21                 <div stype="float:right">
    22                     <asp:LinkButton ID="lkbtnOK" runat="server" OnClick="lkbtnOK_Click">确定</asp:LinkButton>
    23                 </div>
    24 
    25         <input type="hidden" runat="server" id="selopts"/>
    View Code

    后台代码

      1   public void BindQuestion(string ExamTitleCode, string ExamTitle)
      2         {
      3 
      4             List<temp> list = new List<temp>();
      5             // temp temp = new WebApplication1.temp();
      6 
      7 
      8             //获得所有题目
      9             var Questionssql = "select * from ";
     10            
     11             var Questionsdt = helps.GetDataTable(Questionssql );
     12             var QuestionsCount = Questionsdt.Rows.Count;
     13 
     14 
     15             for (int i = 0; i < QuestionsCount; i++)
     16             {
     17 
     18                 temp temp = new temp();
     19                 temp.First = Questionsdt.Rows[i]["Questions"].ToString();
     20                 temp.Second = "";
     21                 list.Add(temp);
     22 
     23                 var QuestionsID = Questionsdt.Rows[i]["QuestionsID"].ToString();
     24                 var MultipleChoice = Questionsdt.Rows[i]["MultipleChoice"].ToString();
     25 
     26                 //题目的所有选项
     27                 var AllOptionssql = "select * from Questions_Option where QuestionsID='" + QuestionsID + "'";
     28                 var AllOptiondt = helps.GetDataTable(AllOptionssql);
     29 
     30                 var AllOptionCount = AllOptiondt.Rows.Count;
     31 
     32 
     33                 for (int j = 0; j < AllOptionCount; j++)
     34                 {
     35 
     36                     temp = new temp();
     37                     var OptionCode = AllOptiondt.Rows[j]["OptionCode"].ToString();
     38                     var OptionName = AllOptiondt.Rows[j]["OptionName"].ToString();
     39                     //var Option
     40                     if (MultipleChoice == "1")
     41                     {
     42                         temp.First = "<input type='radio' onclick='SelectOption1(this)' lang='" + QuestionsID + "' value='" + OptionCode + "' />";
     43                     }
     44                     else
     45                     {
     46                         temp.First = "<input type='radio' name='" + QuestionsID + "' lang='" + QuestionsID + "' onclick='SelectOption(this)' value='" + OptionCode + "' />";
     47                     }
     48                     temp.Second = OptionName;
     49                     list.Add(temp);
     50                 }
     51 
     52 
     53 
     54             }
     55             QuestionsInfo.DataSource = ToDataTable(list);
     56             QuestionsInfo.DataBind();
     57         }
     58 
     59         /// <summary>
     60         /// 将集合类转换成DataTable
     61         /// </summary>
     62         /// <param name="list">集合</param>
     63         /// <returns></returns>
     64         public static DataTable ToDataTable(IList list)
     65         {
     66             DataTable result = new DataTable();
     67             if (list.Count > 0)
     68             {
     69                 PropertyInfo[] propertys = list[0].GetType().GetProperties();
     70                 foreach (PropertyInfo pi in propertys)
     71                 {
     72                     result.Columns.Add(pi.Name, pi.PropertyType);
     73                 }
     74 
     75                 for (int i = 0; i < list.Count; i++)
     76                 {
     77                     ArrayList tempList = new ArrayList();
     78                     foreach (PropertyInfo pi in propertys)
     79                     {
     80                         object obj = pi.GetValue(list[i], null);
     81                         tempList.Add(obj);
     82                     }
     83                     object[] array = tempList.ToArray();
     84                     result.LoadDataRow(array, true);
     85                 }
     86             }
     87             return result;
     88         }
     89 
     90         List<temp> list = new List<temp>();
     91         protected void lkbtnOK_Click(object sender, EventArgs e)
     92         {
     93             var AnswerOptions = this.selopts.Value;
     94             string[] str=AnswerOptions.Split(',');
     95 
     96             
     97             for (var i = 0; i < str.Length; i++)
     98             {
     99                 if (str[i] != "")
    100                 {
    101                     temp tp = new WebApplication1.temp();
    102                     var tempstr = str[i].Split(':');
    103                     if (list.Count == 0)
    104                     {
    105                         tp.First = tempstr[0];
    106                         tp.Second = tempstr[1];
    107                         list.Add(tp);
    108                     }
    109                     else
    110                     {
    111                         for (var j = 0; j < list.Count; j++)
    112                         {
    113                             if (tempstr[0] == list[j].First)
    114                             {
    115                                 list[j].Second = list[j].Second + "," + tempstr[1];
    116                                 break;
    117                             }
    118                             else if (j == list.Count - 1)
    119                             {
    120                                 tp.First = tempstr[0];
    121                                 tp.Second = tempstr[1];
    122                                 list.Add(tp);
    123                                 break;
    124                             }
    125                         }
    126                     }
    127 
    128                     }
    129                 }
    130 
    131 
    132             for (int i = 0; i < list.Count; i++)
    133             {
    134                 SaveData(list[i].First, StrSort(list[i].Second));
    135             }
    136             InsertFinsh();
    137 
    138 
    139             // InsertFinsh();
    140             }
    141 
    142 
    143         public String StrSort(string Str)
    144         {
    145             var tempOption = Str.TrimEnd(',').Split(',');
    146             var text = "";
    147             if (tempOption.Length > 1)
    148             {
    149                 Array.Sort(tempOption);
    150             }
    151             for (int i = 0; i < tempOption.Length; i++)
    152             {
    153                 if (i != tempOption.Length - 1)
    154                 {
    155                     text += tempOption[i] + ",";
    156                 }
    157                 else
    158                 {
    159                     text += tempOption[i];
    160                 }
    161             }
    162             return text;
    163         }
    View Code
  • 相关阅读:
    201521044091《Java程序设计》第7周学习总结
    201521044091《java程序设计》第四次总结
    201521044091 《java程序设计》第八周学习总结
    201521044091 《Java程序设计》第5周学习总结
    201521044091 《Java程序设计》第2周学习总结
    201521044091 《Java程序设计》第3周学习总结
    MySQL设置字符集CHARACTER SET
    Create My MySQL configuration by Percona
    How to use jQuery to manipulate Cookies
    How to use OpenXml to import xml data to Sql server
  • 原文地址:https://www.cnblogs.com/yuanjiehot/p/4352327.html
Copyright © 2020-2023  润新知