日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

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

發布時間:2025/7/25 javascript 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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控件选中的值的全部內容,希望文章能夠幫你解決所遇到的問題。

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