asp.net綁定checkboxlist——–jquery綁定click事件,擷取checkbox的value和顯示值

來源:互聯網
上載者:User

 

asp.net的checkboxlist後台綁定DataTextField和DataValueField

前台頁面發現情況有:

(1)checkbox是單獨的,裡面什麼資訊都沒有,在其緊接有一個label,包含text值。

<input
id="dlWater_0" type="checkbox"
name="dlWater$0" /><label
for="dlWater_0">PH</label>

(2)沒有找到value值


從後台擷取value和text值是沒有問題的,但是考慮到前台的擷取,比如:選中checkbox,顯示選中的值,取消選中時,把顯示的值從選中的列表中去掉,同時還要選中時要儲存value值(通常是用hidden隱藏的),取消選中時去掉value和text值,

這樣就要考慮從前台擷取text和value值了。

js的還沒有考慮過,jquery的倒是試過

(1)jquery擷取text值:

從情況1中jquery這樣實現

             $("input[type='checkbox']").click(function(){

               var jcxmname=$(this).next().text();//擷取label的值

                          }

(2)jquery擷取value值:

      從情況2可以看到,從後來綁定後value沒有顯示到前台(搞不清楚),前台的頁面上沒有value值,jquery是不能擷取的,所以需要把綁定value值給顯示出來,找了一下發現可以用其他的方法把value值顯示到前台

        foreach (ListItem item in CheckBoxList1.Items)

        {

            item.Attributes.Add("val", item.Value);

        }

     在綁定值過後就把value值同時再綁定下,這樣綁定後前台就顯示出value值了(後來發現重新整理頁面value值是會丟失的,怎麼辦,你懂的!)

      前台代碼如下:

                   <span
val="1001"><input
id="dlWater_0"
type="checkbox" name="dlWater$0" /><label
for="dlWater_0">PH</label></span>

        發現最外面多個span,並且把value值以val的形式給顯示出來了,這樣就好辦多了。

        又查過資料發現jquery可以這樣取值

                       $("input[type='checkbox']").click(function(){

           var lvalue=$(this).parent('span').attr("val");//擷取value值

           var lname=$(this).next().text();//擷取text值

                        }

          這樣就能夠在前台擷取到value值了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.