for循环中的JQuery选择器

时间:2014-02-19 07:13:38

标签: jquery for-loop jquery-selectors

我有一张带有复选框和文本框的表格。页面加载时禁用复选框。它们的id是使用for:我的jsp中的每个循环分配的。我希望在相应行上的文本框更改值后启用该复选框。这是我的代码:

for (var i = 0; i < listSize; i++) {
            $("#doctorName" + i).on('change', function(){
                    $("#rowCheck" + i).prop('disabled', false);
            });
        }

如果我替换$("#rowCheck" + i) with $("#rowCheck0"),,则启用该复选框。我不想对每个复选框ID进行硬编码,因为我渲染了不确定的行数。

2 个答案:

答案 0 :(得分:0)

对于您的背景,这可能是更好的方法。

尝试,

 $("[id^='doctorName']").on('change', function(){
      var id = this.id;
      $("#rowCheck" + id.charAt(id.length - 1)).prop('disabled', false);
 });

答案 1 :(得分:0)

最简单的答案是将块包含在另一个函数中:

for (var index = 0; index < listSize; index++) {
   (function(i){
            $("#doctorName" + i).on('change', function(){
                    $("#rowCheck" + i).prop('disabled', false);
            });

    }(index)
}