检查单行多选框列表

3
我创建了一个表格行,将从SQL自动生成数据,并由后端代码绑定。是否可以使用JavaScript检查用户是否单击了行?该行的创建方式如下:

我创建一个表格行将由后端代码自动生成数据并与其绑定。有没有办法通过使用JavaScript来检查用户是否单击了该行?以下是创建该行的方法:

<tr>
    <td align="right" class="formLine">Brand Type:</td>
    <td class="FormLine2" align="left" colspan="7">
        <asp:CheckBoxList ID="chkBrandType" runat="server" RepeatColumns="10" RepeatDirection="Horizontal" RepeatLayout="Flow" BorderWidth="0" />
    </td>
</tr>
2个回答

0

Jquery解决方案

//assuming all your html elemnts and checkboxes are having unique ids
$("#check1").on('click', function(){
    if($(this).is(":checked")){
        alert("checked");
    else {
        alert("unchecked");
    }
}

否则,如果您只想检查是否已单击任何复选框

$('input[type="checkbox"]').change(function(){
    if($(this).is(':checked')){
        alert('checked');
    } else {
        alert('unchecked');
    }
});

你的想法是检查整个表格,而我只有一行有复选框,并且它像一个选项复选框供用户点击。 - user7669612
@AndrewMadMan 答案的第一部分只选中了指定的复选框,而不是全部。 - Sagar

0
以下函数可以轻松实现此操作。请注意使用CheckBoxList1.ClientID获取正确的ID。此外,由于asp.net将在复选框周围创建一个表格,因此您需要将input添加到监听器中。
<script type="text/javascript">
    $(document).ready(function () {
        $("#<%= CheckBoxList1.ClientID %> input").change(function (e) {
            if ($(this).prop("checked")) {
                alert($(this).val());
            }
        });
    });
</script>

如果设置了postback,它会影响其他行吗?在这个表格中,我将表格分成三部分,以便用户按优先级填写表格中的一些文本框。 - user7669612
然后我的函数就可以解决问题了。无论复选框如何从代码后台填充,都不会有影响。 - VDWWD
语法错误,无法识别表达式:#<%= chkBrandType.ClientID %> input - user7669612
先让它正常工作。然后解决下一个问题,将其放在js中。你也可以绑定类名而不是ID的监听器。 - VDWWD
需要先找到解决此问题的方法:http://stackoverflow.com/questions/43911365/bind-gridview-data-to-dropdownlist - user7669612
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接