閱讀102 返回首頁    go 阿裏雲 go 技術社區[雲棲]


JQuery .Net CheckBoxList控件

很久沒弄jQuery了,今天做項目時,遇到個問題:js取不到選中的CheckBoxList的ListItem的值。

 CheckBoxList前台解析為:

<table border="0"> <tr> <td> <input type="checkbox" name="listTest$0" /> <label for="listTest_0">item1</label> </td> </tr> <tr> <td><input type="checkbox" name="listTest$1" /> <label for="listTest_1">item2</label> </td> </tr> </table>

搜了下,網上有個可行的辦法:給ListItem加alt屬性(其他屬性也行),通過獲取屬性值來獲取選項值;

 

解決方案

在綁定checkboxlist時,為ListItem每個對象添加一個alt屬性,值保存對應的value值,代碼如下:

 

 if (dt != null && dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { //分別為text值、value值 listTest.Items.Add(new ListItem(dr["Title"].ToString(), dr["ID"].ToString())); } //為ListItem對象添加alt屬性,值保存value值 foreach (ListItem li in listTest.Items) { li.Attributes.Add("alt", li.Value); } } <table border="0"> <tr> <td> <span alt="400"><input type="checkbox" name="listTest$0" /> <label for="listTest_0">基於jQuery的一個震動效果</label></span> </td> </tr> <tr> <td><span alt="398"><input type="checkbox" name="listTest$1" /> <label for="listTest_1">使用css的overflow屬性改變縮略圖大小</label></span> </td> </tr> </table> 下麵就是js取選中的listitem的值: $(document).ready(function() { $("#btnShow").click(function() { var valuelist = ""; //保存checkbox選中值 //遍曆name以listTest開頭的checkbox $("input[name^='listTest']").each(function() { if (this.checked) { //$(this):當前checkbox對象; //$(this).parent("span"):checkbox父級span對象 valuelist += $(this).parent("span").attr("alt") + ","; } }); if (valuelist.length > 0) { //得到選中的checkbox值序列,結果為400,398 valuelist = valuelist.substring(0, valuelist.length - 1); } }); });

關鍵點:valuelist += $(this).parent("span").attr("alt") + ",";

最後更新:2017-04-02 06:51:42

  上一篇:go 認識JVM--第二篇-java對象內存模型
  下一篇:go SQL Server 2000安裝時不出現安裝界麵,進程中存在解決