如何在asp.net中使用javascript获取所选复选框列表项的值

时间:2014-01-15 09:28:59

标签: c# javascript 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获取checkboxlist的选定值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。请帮助。

3 个答案:

答案 0 :(得分:15)

试试这个:

<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> 

答案 1 :(得分:0)

我是javascript的新手

这段代码可以帮助你

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。

答案 2 :(得分:0)

尝试调试

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插件。