0

这是我的代码:

$('#CheckBoxList1').change(function () {
                var CHK = document.getElementById("<%=CheckBoxList1.ClientID%>");
                var checkbox = CHK.getElementsByTagName("input");
                if ($.browser.msie) {
                    for (var i = 1; i < checkbox.length; i++) {
                        if (checkbox[i].checked) {
                            markers[i - 1].setIcon('http://maps.google.com/mapfiles/ms/icons/green-dot.png');
                        }
                        else {
                            markers[i - 1].setIcon('http://maps.google.com/mapfiles/ms/icons/red-dot.png');
                        }

                    }
                }
          });

        });

在 for 循环中,我从 checkboxlist1 中找到选中的复选框。我正在设置标记颜色,这些名称在 chekboxlist 中被选中。İt 与 for 循环一起工作成功。但是当我选中一个复选框时,我会进行这个过程。我不会使用 for 循环来查找所有选中的复选框。所以我会这样做,当我选中 chekboxlist 上的复选框时,我会得到复选框的索引(序列号)编号.当我得到那个索引号时,我不能使用 for 循环,我可以使用那个索引号处理标记。İ.EI 有一个复选框列表,即它有 5 个复选框 tahats 是 a,b,c,d,e 。例如:当我勾选“e”复选框时,我将获得该复选框索引号为 5,当我勾选“c”复选框时,我将获得该复选框索引号为 3

4

1 回答 1

1

只需使用 index() 函数。请注意,某些 IE 浏览器可能无法识别 .change() 事件,而是使用 .propertychange ,如下所示

此外,当您仍然使用 document.getElementById 选择元素时,使用 jQuery 有什么意义?

$(function() {
    $('#CheckBoxList1 input').change(function() {
        var index = $('#CheckBoxList1 input').index(this);
    });
});
于 2013-02-25T10:37:13.450 回答