【问题标题】:CheckboxList not getting selected values in javascriptCheckboxList 没有在 javascript 中获取选定的值
【发布时间】:2014-06-24 08:09:09
【问题描述】:

我在 asp.net 中有复选框列表:

<asp:CheckBoxList ID="chbUserType" RepeatDirection="Horizontal" runat="server">
                    </asp:CheckBoxList>

我已将其绑定为:

chbUserType.DataSource = dtRoles;
        chbUserType.DataValueField = "idRole";
        chbUserType.DataTextField = "Title";
        chbUserType.DataBind();

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

我想在 javascript 中获取其选定的值。

为此,我做了如下:

    var userType = "";
    var chkBox = document.getElementById('<%=chbUserType.ClientID %>');

    var options = chkBox.getElementsByName('input');
    var listOfSpans = chkBox.getElementsByTagName('span');
    for (var i = 0; i < options.length; i++) {
        if (options[i].checked) {
            if (i != options.length - 1) {
                userType = listOfSpans[i].attributes["JSvalue"].value + ",";
            }
            else {
                userType = listOfSpans[i].attributes["JSvalue"].value;
            }
        }
    }

    alert(userType);

我没有收到任何警报。

请帮助我如何实现这一点???

编辑 2:

生成的 HTML

<span jsvalue="2"><input id="MainContent_chbUserType_1" type="checkbox" name="ctl00$MainContent$chbUserType$1" value="2"><label for="MainContent_chbUserType_1">Dispatcher</label></span>

【问题讨论】:

  • 您能否提供一个生成的 HTML 示例?
  • @A.Tapper 先生请看我的编辑

标签: c# javascript asp.net .net visual-studio-2010


【解决方案1】:

我认为,如果您在输入中使用 getElementsByTagName 而不是 getElementsByName,您会没事的...

Here is a jsfiddle link that I think represents your problem

var userType = "";
var chkBox = document.getElementById('checkboxlist');
var options = chkBox.getElementsByTagName('input');
var listOfSpans = chkBox.getElementsByTagName('span');

for (var i = 0; i < options.length; i++) {
    console.log(options[i].checked);
    if (options[i].checked) {
        if (i != options.length - 1) {
            userType = listOfSpans[i].attributes["JSvalue"].value + ",";
        }
        else {
            userType = listOfSpans[i].attributes["JSvalue"].value;
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-10
    相关资源
    最近更新 更多