日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

JavaScript 获取服务器端checkBoxlist控件选中的值

發布時間:2025/7/25 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript 获取服务器端checkBoxlist控件选中的值 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
通用版本(不依賴任何類庫) function GetCheckBoxListValue(objID) ...{var v = new Array();var CheckBoxList = document.getElementById(objID);if(CheckBoxList.tagName == "TABLE")...{for(i=0;i<CheckBoxList.rows.length;i++) for(j=0;j<CheckBoxList.rows[i].cells.length;j++)if(CheckBoxList.rows[i].cells[j].childNodes[0])if(CheckBoxList.rows[i].cells[j].childNodes[0].checked==true)v.push(CheckBoxList.rows[i].cells[j].childNodes[1].innerText);}if(CheckBoxList.tagName == "SPAN")...{for(i=0;i<CheckBoxList.childNodes.length;i++)if(CheckBoxList.childNodes[i].tagName == "INPUT")if(CheckBoxList.childNodes[i].checked==true)...{i++;v.push(CheckBoxList.childNodes[i].innerText);} }return v; } Asp.net Ajax 版本(依賴 Asp.net Ajax 類庫支持)function GetCheckBoxListValue(objID) ...{var v = new Array();var CheckBoxList = $get(objID);if(CheckBoxList.tagName == "TABLE")...{for(i=0;i<CheckBoxList.rows.length;i++) for(j=0;j<CheckBoxList.rows[i].cells.length;j++)if(CheckBoxList.rows[i].cells[j].childNodes[0])if(CheckBoxList.rows[i].cells[j].childNodes[0].checked==true)Array.add(v,CheckBoxList.rows[i].cells[j].childNodes[1].innerText);}if(CheckBoxList.tagName == "SPAN")...{for(i=0;i<CheckBoxList.childNodes.length;i++)if(CheckBoxList.childNodes[i].tagName == "INPUT")if(CheckBoxList.childNodes[i].checked==true)...{i++;Array.add(v,CheckBoxList.childNodes[i].innerText);} }return v; }

三、

CheckboxList是服務器控件,綁定數據容易,用著貌似蠻順手的。但是生成的靜態頁面居然沒有ListItem的Value值,所以默認情況下在頁面中是取不到ListItem的值的。
原始生成頁面代碼:
<table id="ctl00_mainContent_FriendsList" border="0">
<tr>
?? <td><input id="ctl00_mainContent_FriendsList_0" type="checkbox" name="ctl00$mainContent$FriendsList$0" /><label for="ctl00_mainContent_FriendsList_0">jarome</label></td><td><input id="ctl00_mainContent_FriendsList_1" type="checkbox" name="ctl00$mainContent$FriendsList$1" /><label for="ctl00_mainContent_FriendsList_1">admin1</label></td><td></td>
</tr>
</table>
這里面只有Label里面的Text值,顯然取不到Value值。
想點辦法,自己加個值進來,在數據綁定之后加上下面代碼:
????? foreach (ListItem li in FriendsList.Items)
??????????? {
??????????????? li.Attributes.Add("alt", li.Value);
??????????? }
就是給ListItem加個alt屬性,賦予Value值,相當于:

<asp:CheckBoxList ID="FriendsList" runat="server">
??????????? <asp:ListItem Value="jarome" alt="jarome">jarome</asp:ListItem>
??????????? <asp:ListItem Value="admin" alt="admin">admin1</asp:ListItem>
</asp:CheckBoxList>

頁面生成代碼:

<table id="ctl00_mainContent_FriendsList" border="0">
<tr>
?? <td><span alt="jarome"><input id="ctl00_mainContent_FriendsList_0" type="checkbox" name="ctl00$mainContent$FriendsList$0" /><label for="ctl00_mainContent_FriendsList_0">jarome</label></span></td><td><span alt="admin"><input id="ctl00_mainContent_FriendsList_1" type="checkbox" name="ctl00$mainContent$FriendsList$1" /><label for="ctl00_mainContent_FriendsList_1">admin1</label></span></td><td></td>
</tr>
</table>

看到多了個<span/>,alt中就是我們想要取得的值。

//獲取CheckBoxList值,使用jQuery類庫
function GetCheckBoxListValue(obj) { //obj為CheckBoxList的ClientID
???? var v = new Array();
???? $("#" + obj+ " input").each(function() {
???????? if (this.checked) {
???????????? v.push($(this).parent().attr("alt"));
???????? }
???? });
???? return v; //返回一列以','分隔的結果
}

轉載于:https://www.cnblogs.com/myneng/articles/1691311.html

總結

以上是生活随笔為你收集整理的JavaScript 获取服务器端checkBoxlist控件选中的值的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。