【发布时间】:2021-08-15 01:36:25
【问题描述】:
正如您在此处看到的,我有一些具有不同 ID 的输入
<tr>
<td><input type="number" id="cell1" ></td>
<td><input type="number" id="cell2" ></td>
<td><input type="number" id="cell3" ></td>
<td><input type="number" id="cell4"></td>
<td><input type="number" id="cell5"></td>
<td><input type="number" id="cell6"></td>
<td><input type="number" id="cell7" ></td>
<td><input type="number" id="cell8" ></td>
<td><input type="number" id="cell9" ></td>
</tr>
现在我想使用 jquery 来限制用户在输入中输入的数字,例如
for(var i = 0 ; i <= 81 ; i++) {
$(document).ready(function () {
$("#cell" , i).change(function () {
var n = $("#cell",i).val();
console.log($("#cell", i));
if (n < 1)
$("#cell", i).val(1);
if (n > 9)
$("#cell" , i).val(9);
});
});
}
但它没有得到 id。如何将 i 变量传递给“#cell”?
【问题讨论】:
-
$(document).ready(不属于循环内。如果您使用let或const而不是var,则i的值将被保留。但是,您根本不需要循环,这也可以消除问题。 -
试试
"#cell"+i -
我认为您的意思是
$("#cell" + i),使用+而不是,,但正如@KevinB 所说,您不需要循环。相反,只需更改 HTML 以使用min和max属性。 -
@HereticMonkey 因为我有很多单元格,所以很难为所有单元格添加最小值和最大值。这就是为什么我一直在寻找另一种解决方案
标签: javascript html jquery css jquery-ui