我有一张带有复选框和文本框的表格。页面加载时禁用复选框。它们的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进行硬编码,因为我渲染了不确定的行数。
答案 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)
}