我正在开发一个 asp.net 项目,在该项目中我有一个复选框列表,我使用它绑定(bind)

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>

关于c# - 如何在asp.net中使用javascript获取选定复选框列表项的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21133519/

10-10 21:32