首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在JavaScript/ASP.NET VB中获取复选框的值返回undefined

在JavaScript/ASP.NET VB中获取复选框的值返回undefined
EN

Stack Overflow用户
提问于 2013-11-14 10:52:07
回答 2查看 1.2K关注 0票数 0

我在GridView中有一个包含10个项目的Checkbox

代码语言:javascript
运行
复制
<ItemTemplate>
   <asp:CheckBox ID="chkGrid" name = "sample1" class = "messageCheckbox" runat="server"    onclick="javascript:SelectCheckedItem(this)" Text = '<%# Bind("status_desc") %>'  />
</ItemTemplate>

我想要的是在GridView中获取CheckBox的值。如果我使用VB,我会得到这些值。我想要的是通过JavaScript获得它。下面是我的JavaScript代码:

代码语言:javascript
运行
复制
function SelectCheckedItem(itemchk) {
            debugger
            var gvcheck = document.getElementById('gvDetails'); //This is the ID of the GridView
            if (itemchk.checked) {
                var checkedValue = $('messageCheckbox:checked').val();
                alert(checkedValue);
            }

            else {

                }
            }

        }

但我得到了未定义的值。

请帮帮忙。谢谢。

EN

回答 2

Stack Overflow用户

发布于 2013-11-14 11:15:13

代码语言:javascript
运行
复制
<asp:CheckBox ID="chkGrid" Text="Status" runat="server" />

将呈现如下所示(请注意由于runat="server"而导致的id更改)

代码语言:javascript
运行
复制
<input type="checkbox" id="chkGrid_ctl01" />
<label for="chkGrid_ctl01">Status</label>

因此,要获得每个复选框的label中的文本,您需要遍历复选框并找到相邻的标签。

要仅获取所单击复选框的label,您可以执行以下操作

代码语言:javascript
运行
复制
function SelectCheckedItem(itemchk) {
    if (itemchk.checked) {
        var checkedValue = $(itemchk)
            .siblings('label[for="' + itemchk.id '"]')
            .text();
        console.log(checkedValue);
    }
}

但是要获得所有标签,您必须使用类.messageCheckbox遍历每个复选框

代码语言:javascript
运行
复制
function SelectCheckedItem() {
    $('.messageCheckbox:checked').each(function () {
        console.log($(this).siblings('label[for="' + itemchk.id '"]').text());
    });
}
票数 1
EN

Stack Overflow用户

发布于 2013-11-14 11:15:40

GridView的ID很可能不是gvDetails,因为.NET会在您的ID中添加一个完整的额外字符串。您需要考虑在服务器端使用gvDetails.ClientID

代码语言:javascript
运行
复制
var gvcheck = document.getElementById(<% gvDetails.ClientID %>); // This is the generated ID of the GridView
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19968626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档