亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

jQuery獲取checkboxlist的value值的方法

 更新時(shí)間:2015年09月27日 14:48:07   作者:細(xì)數(shù)細(xì)水長(zhǎng)流  
最近著手一個(gè)項(xiàng)目用到了服務(wù)器空間checkboxlist ,使用起來(lái)是方便,可以想要從js獲取值就稍微麻煩點(diǎn)了,google后找到了如下方法,感興趣的小伙伴們可以參考一下

CheckboxList是服務(wù)器控件,綁定數(shù)據(jù)容易,服務(wù)器端獲取選中值也容易。但是生成的靜態(tài)頁(yè)面居然沒有ListItem的Value值,所以默認(rèn)情況下用js在頁(yè)面中是取不到ListItem的值的。至于為什么不顯示value值,我也不清楚,本篇給出一個(gè)用jQuery獲取checkboxlist值的方法。

先看看原始的頁(yè)面html代碼:

<asp:CheckBoxList runat="server" ID="listTest">
</asp:CheckBoxList>
<input type="button" id="btnShow" value="顯示選中值" />

下面我們綁定checkboxlist,代碼如下:

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()));
  }
}

頁(yè)面中生成的html代碼如下:

<table id="listTest" border="0"> 
<tr> 
  <td>
    <input id="listTest_0" type="checkbox" name="listTest$0" />
    <label for="listTest_0">基于jQuery的一個(gè)震動(dòng)效果</label>
  </td> 
  </tr>
<tr> 
  <td><input id="listTest_1" type="checkbox" name="listTest$1" />
    <label for="listTest_1">使用css的overflow屬性改變縮略圖大小</label>
  </td>
</tr>
</table>

可以看出checkboxlist轉(zhuǎn)換為一個(gè)表格的形式,并且其中沒有value值。label中的值,即為text值。當(dāng)點(diǎn)擊它時(shí),也可以選中checkbox,這里在選checkbox時(shí)提高了用戶體驗(yàn)。
下面進(jìn)入我們的處理過(guò)程,首先,在綁定checkboxlist時(shí),為L(zhǎng)istItem每個(gè)對(duì)象添加一個(gè)alt屬性,值保存對(duì)應(yīng)的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()));
  }
  //為L(zhǎng)istItem對(duì)象添加alt屬性,值保存value值
  foreach (ListItem li in listTest.Items)
  {
    li.Attributes.Add("alt", li.Value);
  }
}

現(xiàn)在,生成的html代碼如下:

<table id="Table1" border="0"> 
<tr> 
  <td>
    <span alt="400"><input id="listTest_0" type="checkbox" name="listTest$0" />
    <label for="listTest_0">基于jQuery的一個(gè)震動(dòng)效果</label></span>
  </td> 
</tr>
<tr> 
  <td><span alt="398"><input id="listTest_1" type="checkbox" name="listTest$1" />
  <label for="listTest_1">使用css的overflow屬性改變縮略圖大小</label></span>
  </td>
</tr>
</table>

從上邊可以看出,多了一個(gè)span標(biāo)簽,里邊alt的值即為我們需要的value值。使用下邊的jQuery代碼即可獲得:

$(document).ready(function() {
  $("#btnShow").click(function() {
    var valuelist = ""; //保存checkbox選中值
    //遍歷name以listTest開頭的checkbox
    $("input[name^='listTest']").each(function() {
      if (this.checked) {
        //$(this):當(dāng)前checkbox對(duì)象;
        //$(this).parent("span"):checkbox父級(jí)span對(duì)象
        valuelist += $(this).parent("span").attr("alt") + ",";
      }
    });
    if (valuelist.length > 0) {
      //得到選中的checkbox值序列,結(jié)果為400,398
      valuelist = valuelist.substring(0, valuelist.length - 1);
    }
  });
});

以上就是jQuery獲取checkboxlist的value值的方法,不知道大家有沒有真正理解,希望這篇文章能夠幫到大家。

相關(guān)文章

最新評(píng)論