天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

asp.net Javascript獲取CheckBoxList的value

以后我會陸續(xù)的寫出這段時間中學(xué)習(xí)到的東西,與大家一起分享。這篇文章也算是工作中的一個筆記吧,希望給遇到同樣問題的朋友,一點小小的幫助。
在 開發(fā)工作中,因為要做用到CheckBoxList在客戶端用js操作,無論js怎樣調(diào)試,就是無法獲取value的值,很是郁悶,后來Google了下,去了趟CodeProject,算是幸運的。我們在網(wǎng)頁上放置一下代碼:
復(fù)制代碼 代碼如下:
<ASP:CheckBoxList runat="server" ID="chkDemo" RepeatDirection="Horizontal" RepeatLayout="Flow"> <ASP:ListItem Text="測試A" Value="A"></ASP:ListItem>
<ASP:ListItem Text="測試B" Value="B"></ASP:ListItem>
<ASP:ListItem Text="測試C" Value="C"></ASP:ListItem>
<ASP:ListItem Text="測試D" Value="D"></ASP:ListItem>
<ASP:ListItem Text="測試E" Value="E"></ASP:ListItem>
</ASP:CheckBoxList>

當(dāng)瀏覽器呈現(xiàn)這段代碼后,我們再看看是什么樣的Html腳本:
<table id="chkDemo" border="0">
<tr><td><input id="chkDemo_0" type="checkbox" name="chkDemo$0" /><label for="chkDemo_0">測試A</label></td>
<td><input id="chkDemo_1" type="checkbox" name="chkDemo$1" /><label for="chkDemo_1">測試B</label></td>
<td><input id="chkDemo_2" type="checkbox" name="chkDemo$2" /><label for="chkDemo_2">測試C</label></td>
<td><input id="chkDemo_3" type="checkbox" name="chkDemo$3" /><label for="chkDemo_3">測試D</label></td>
<td><input id="chkDemo_4" type="checkbox" name="chkDemo$4" /><label for="chkDemo_4">測試E</label></td> </tr></table>
這段Html腳本會因為RepeatLayout的設(shè)置有所差異,但是都有一個共同點,就是 生成的CheckBox沒有value屬性,
所以在客戶端用js是沒辦法獲取值的
為了解決這個問題,我們需要擴展一下CheckBoxList:這是我在CodeProject上找到的源碼,時間久了,鏈接就不貼了吧。
復(fù)制代碼 代碼如下:
[ToolboxData("<{0}:CheckBoxListEx runat=/"server/"></{0}:CheckBoxListEx>")]
public class CheckBoxListEx : CheckBoxList,IRepeatInfoUser
{
void IRepeatInfoUser.RenderItem(ListItemType itemType, int repeatIndex, RepeatInfo repeatInfo, HtmlTextWriter writer)
{
string clientID = UniqueID + this.ClientIDSeparator + repeatIndex.ToString(NumberFormatInfo.InvariantInfo); //var

writer.WriteBeginTag("input");
writer.WriteAttribute("type", "checkbox");
writer.WriteAttribute("name", UniqueID + this.IdSeparator + repeatIndex.ToString(NumberFormatInfo.InvariantInfo));
writer.WriteAttribute("id", clientID);
writer.WriteAttribute("value", Items[repeatIndex].Value);
if (Items[repeatIndex].Selected)
writer.WriteAttribute("checked", "checked");

System.Web.UI.AttributeCollection attrs = Items[repeatIndex].Attributes;
foreach (string key in attrs.Keys)
{
writer.WriteAttribute(key, attrs[key]);
}
writer.Write("/>");
writer.Write("<label for='" + clientID + "'>");
writer.Write(Items[repeatIndex].Text);
writer.Write("</label>");

}

上邊的這段代碼是我經(jīng)過修改的,與原著中有些差別:clientID的生成以及Checked屬性的添加等,我想這段代碼不需要再詳細的講解了吧。
把它編譯成單獨的類,在Toolbox上會自動出現(xiàn),像使用那個正常的CheckBoxList一樣,拖動到頁面就可以了。
在客戶端,我們js取值大致如下:
復(fù)制代碼 代碼如下:
<script>
function getDemoValue()
{ var els = document.getElementById("chkDemo"); var vals= ''; if (els != null) { var chks = els.getElementsByTagName("input"); for (var k = 0, len = chks.length; k < len; k++) { var chk = chks[k]; if (chk != null && chk.type == 'checkbox' && chk.checked) { vals+= ',' + chk.value; } } }
if(vals.length>1)
vals = vals.substring(1);
return vals;
}
</script>

結(jié)束

AspNet技術(shù)asp.net Javascript獲取CheckBoxList的value,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 在线观看国产日韩 | 奶头从情趣内衣下露了出来AV | 999久久久国产精品蜜臀AV | 两个吃奶一个添下面视频 | 国产精品九九九久久九九 | 岳打开双腿开始配合日韩视频 | 国产亚洲精品看片在线观看 | 秋霞电影网午夜一级鲁丝片 | 熟妇的味道HD中文字幕 | 日本乱子人伦在线视频 | 西施打开双腿下面好紧 | 欧美白妞大战非洲大炮 | 9亚洲欧洲免费无码在线 | 电影内射视频免费观看 | 久热人人综合人人九九精品视频 | 撕烂衣服扒开胸罩揉爆胸 | 抽插H浊水H嫩B父皇 虫族bl文全肉高h | 巨胸美女狂喷奶水www网麻豆 | 精品无码久久久久久国产百度 | 欧美日韩久久久精品A片 | 一区二区三区毛AAAA片特级 | 暖暖直播免费观看韩国 | 男男腐文污高干嗯啊快点1V1 | 麻豆久久国产亚洲精品超碰热 | 国产成人在线免费观看 | 夜里18款禁用的免费B站动漫 | 亚洲AV 日韩 国产 有码 | 中文字幕无码亚洲视频 | 国产成人无码WWW免费视频在线 | 亚洲第一页视频 | 东北疯狂xxxxbbbb中国 | 国产传媒麻豆剧精品AV | 99久久婷婷国产综合精品青草 | 牛牛在线(正)精品视频 | 国产系列在线亚洲视频 | 2020国产欧洲精品视频 | 风情韵味人妻HD | 国产精品嫩草影院 | 亚洲精品国产国语 | 免费无码又爽又黄又刺激网站 | 翘臀少妇被扒开屁股日出水爆乳 |