最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net Javascript獲取CheckBoxList的value

 更新時間:2009年12月08日 01:59:20   作者:  
最近在做一個BS的小項目,記得自己搞asp.net的時候,還是兩年以前,大部分的東西只是有點(diǎn)印象,忘得差不多了,所以這次也算是溫習(xí)的過程吧,一邊學(xué)習(xí),一邊趕工,呵呵呵。。。。
以后我會陸續(xù)的寫出這段時間中學(xué)習(xí)到的東西,與大家一起分享。這篇文章也算是工作中的一個筆記吧,希望給遇到同樣問題的朋友,一點(diǎn)小小的幫助。
在 開發(fā)工作中,因為要做用到CheckBoxList在客戶端用js操作,無論js怎樣調(diào)試,就是無法獲取value的值,很是郁悶,后來Google了下,去了趟CodeProject,算是幸運(yùn)的。我們在網(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è)置有所差異,但是都有一個共同點(diǎn),就是 生成的CheckBox沒有value屬性,
所以在客戶端用js是沒辦法獲取值的
為了解決這個問題,我們需要擴(kuò)展一下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屬性的添加等,我想這段代碼不需要再詳細(xì)的講解了吧。
把它編譯成單獨(dú)的類,在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é)束

相關(guān)文章

  • asp.net 安全、實用、簡單的大容量存儲過程分頁

    asp.net 安全、實用、簡單的大容量存儲過程分頁

    昨晚研究到2點(diǎn)多,對網(wǎng)絡(luò)上主流的分頁存儲過程大體看了一遍,但對安全以及如何使用很多文章都沒有過多的提及,而我要在這些文章的基礎(chǔ)上總結(jié)出一個比較實用的分頁存儲過程,方便大家在以后的項目中使用。
    2009-06-06
  • dotnet?命令行工具解決方案?PomeloCli詳解

    dotnet?命令行工具解決方案?PomeloCli詳解

    我們已經(jīng)有相當(dāng)多的命令行工具實現(xiàn)或解析類庫,PomeloCli?并不是替代版本,它基于Nate?McMaster的杰出工作CommandLineUtils、DotNetCorePlugins實現(xiàn)了一整套的命令行開發(fā)、管理、維護(hù)方案,這篇文章主要介紹了dotnet命令行工具解決方案PomeloCli,需要的朋友可以參考下
    2024-05-05
  • .net實現(xiàn)oracle數(shù)據(jù)庫中獲取新插入數(shù)據(jù)的id的方法

    .net實現(xiàn)oracle數(shù)據(jù)庫中獲取新插入數(shù)據(jù)的id的方法

    在oracle數(shù)據(jù)庫中實現(xiàn)插入數(shù)據(jù)的自動增長不是很容易,想在.net中實現(xiàn)獲取新插入數(shù)據(jù)的id,感興趣的朋友看下詳細(xì)的解決方法,希望對你有所幫助
    2013-04-04
  • asp.net 代碼隱藏的編碼模型

    asp.net 代碼隱藏的編碼模型

    asp.net 代碼隱藏的編碼模型,需要的朋友可以參考下。
    2009-11-11
  • Aspnetpager對GridView分頁并順利導(dǎo)出Excel

    Aspnetpager對GridView分頁并順利導(dǎo)出Excel

    這篇文章主要介紹了Aspnetpager對GridView分頁并順利導(dǎo)出Excel的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • 服務(wù)器讀取EXCEL不安裝OFFICE如何實現(xiàn)

    服務(wù)器讀取EXCEL不安裝OFFICE如何實現(xiàn)

    用asp.net做了一簡單的游戲管理后臺,涉及到了上傳Excel導(dǎo)入數(shù)據(jù)的功能,在本地開發(fā)實現(xiàn)都好好的,可已上傳的服務(wù)器上就悲劇了,下面有個不錯的解決方法,大家可以參考下
    2014-03-03
  • aspx后臺傳遞Json到前臺的兩種接收方法推薦

    aspx后臺傳遞Json到前臺的兩種接收方法推薦

    下面小編就為大家?guī)硪黄猘spx后臺傳遞Json到前臺的兩種接收方法推薦。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • asp.net AJAX注冊類

    asp.net AJAX注冊類

    單純用JavaScript,不需要注冊,但是就是用不了AJAX的某些機(jī)制。
    2010-02-02
  • Asp.net SignalR支持的平臺有哪些

    Asp.net SignalR支持的平臺有哪些

    Asp.net SignalR支持的平臺有哪些,這篇文章主要介紹了Asp.net SignalR支持的平臺,需要的朋友可以參考下
    2016-04-04
  • ASP.NET實現(xiàn)二維碼(QRCode)的創(chuàng)建和讀取實例

    ASP.NET實現(xiàn)二維碼(QRCode)的創(chuàng)建和讀取實例

    這篇文章主要介紹了ASP.NET實現(xiàn)二維碼(QRCode)的創(chuàng)建和讀取實例,分析了二維碼的實現(xiàn)原理與完整的代碼實現(xiàn)步驟,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01

最新評論

彭阳县| 枝江市| 民乐县| 雷山县| 石柱| 余干县| 手机| 台东县| 安康市| 泉州市| 秦皇岛市| 囊谦县| 英德市| 潞西市| 贡嘎县| 开原市| 江城| 黑山县| 禹州市| 兴义市| 万荣县| 安陆市| 台湾省| 泗阳县| 通山县| 日喀则市| 湾仔区| 安仁县| 新野县| 姜堰市| 宁都县| 余姚市| 安国市| 陇南市| 三亚市| 南江县| 广昌县| 杭锦旗| 宜宾县| 漳浦县| 锡林郭勒盟|