簡體   English   中英

如何在asp.net中使用javascript獲取選定復選框列表項的值

[英]How to get value of selected checkboxlist items using javascript in asp.net

我正在開發一個 asp.net 項目,在該項目中我有一個復選框列表,我使用它綁定

DataTable dt = new Process_Hotels().SelectAllFacilty();           
if (dt.Rows.Count > 0)                                            
{                                                                 
    cblHotelFacility.DataSource = dt;                             
    cblHotelFacility.DataTextField = "Facility";                  
    cblHotelFacility.DataValueField = "ID";                       
    cblHotelFacility.DataBind();                                  

    foreach (ListItem li in cblHotelFacility.Items)               
    {                                                             
        li.Attributes.Add("JSvalue", li.Value);                   
    }                                                             
}

現在我想在單擊按鈕時使用 javascript 獲取復選框列表的選定值 ID。為此,我在單擊按鈕時有以下 javascript 代碼:

<script type="text/javascript">                                                                                   

    function test() {                                                                                             
        var checkList1 = document.getElementById('<%= cblHotelFacility.ClientID %>');                             
        var checkBoxList1 = checkList1.getElementsByTagName("input");                                             
        var checkBoxSelectedItems1 = new Array();                                                                 

        for (var i = 0; i < checkBoxList1.length; i++) {                                                          
            if (checkBoxList1[i].checked) {                                                                       
                checkBoxSelectedItems1.push(checkBoxList1[i].value);                                              
                //alert('checked:' + checkBoxSelectedItems1.push(checkBoxList1[i].getAttribute("JSvalue")).value);
                alert('checked - : ' + checkBoxList1[i].value)                                                    
            }                                                                                                     
        }                                                                                                         
    }                                                                                                             
</script>

但是在單擊按鈕時,所選的復選框列表顯示為 0。我想獲取所選復選框列表項的 ID。請幫忙。

嘗試這個 :

<script type = "text/javascript">

function GetCheckBoxListValues(chkBoxID)
{
    var chkBox = document.getElementById('<%= cblHotelFacility.ClientID %>');
    var options = chkBox.getElementsByTagName('input');
    var listOfSpans = chkBox.getElementsByTagName('span');
    for (var i = 0; i < options.length; i++)
    {
        if(options[i].checked)
        {
            alert(listOfSpans[i].attributes["JSvalue"].value);
        }
    }
}


</script> 

嘗試調試

for (var i = 0; i < checkBoxList1.length; i++) {
console.log(checkBoxList1[i])
            if (checkBoxList1[i].checked) {
                checkBoxSelectedItems1.push(checkBoxList1[i].value);
                //alert('checked:' + checkBoxSelectedItems1.push(checkBoxList1[i].getAttribute("JSvalue")).value);
                alert('checked - : ' + checkBoxList1[i].value)
            }
        }

檢查以查看 id console.log() 通過在控制台窗口上按 F12 為您提供有關對象的任何信息。 為 Firefox 安裝 firebug 插件。

這段代碼可以幫助你:

function CheckBoxCheckOrNot(jobskill) {
    var c = document.getElementById(jobskill).getElementsByTagName('input');
    for (var i = 0; i < c.length; i++) {
        if (c[i].type == 'checkbox') {
            if (c[i].checked) {
                alert('checkbox checked');
            }
            else {
                alert('checkbox unchecked');
            }
        }
    }
}

注意: jobskill是一個包含所有復選框的容器 ID。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM