jQuery只从循环中获取第一个id值
jQuery get only first id value from the loop
我的代码是:
<input id='edit' type='checkbox' />
while($rs = mysql_fetch_array($query_fetch))
{
echo "
<input type='text' name='qty' id='qty' value='".$sum[0]."' disabled>
";
}
<script>
document.getElementById('edit').onchange = function() {
document.getElementById('qty').disabled = !this.checked;
};
</script>
问题是,当选中复选框时,只会影响循环的第一行。我希望当复选框被选中时,所有的输入都被启用。
要在jQuery中执行此操作,请更改:
<input type='text' name='qty' id='qty' value='".$sum[0]."' disabled>
收件人:
<input type='text' name='qty' class='qty' value='".$sum[0]."' disabled>
并添加以下代码:
$('#edit').click(function() {
if ($(this).prop('checked')) {
$('.qty').prop('disabled', false);
} else {
$('.qty').prop('disabled', true);
}
});
注意:DOM对象ID应该是唯一的。任何两个元素都不应该有相同的ID。您可以将相同的类分配给多个元素,并用javascript进行标识。此外,如果这些input
元素是您计划在服务器端处理的表单元素,则需要对它们进行不同的命名,否则只能使用最后分配的值。
第一件事你不需要为那么多元素使用id。。。id对于每个元素都是唯一的。。。在这里你可以使用class=数量。
可以使用jquery 获取类值
$('.qty').eq(0).val();
但是,如果你想使用id,那么你可以将任何计数器变量(i)连接到id
echo "
<input type='text' name='qty"+i+"' id='qty' value='".$sum[0]."' disabled>
";
在jQuery中执行此操作:
在文本字段中添加类条目:
<input type='text' class='qty' name='qty' id='qty' value='".$sum[0]."' disabled>
然后使用jquery
$( "#edit" ).click(function() {
$( ".qty" ).each(function( index ) {
if ($("#edit").is(':checked')) {
$( this ).prop('disabled', false);
} else {
$( this ).prop('disabled', true);
}
});
});
相关文章:
- 而循环只设置php中输入字段中的第一个值
- 错误:$injector:modulerr模块错误(我的第一个SPA应用程序)
- IE11中的第二个调用取消了第一个Fetch API调用
- Javascript XMLHttpRequest——只有第一个POST请求有效
- 使用javascript或angularjs特定过滤器搜索字符串中第一个img标记的json值
- Javascript:表单验证getElementById仅返回第一个id元素
- 仅将 CSS 规则应用于
中的第一个 ,而不分配类/ID - JS在隐藏未定义的值后仅从数组中返回第一个id的值
- 具有相同输入 ID 的多个表单仅使用 Ajax 发送第一个值
- jQuery只从循环中获取第一个id值
- Javascript只从foreach循环中获取第一个id.为什么
- 使用jQuery查找任何后代的第一个id
- 如何找到第一个键“id”在AngularJS的页面上
- 在具有多个id的目标页面上,脚本只作用于第一个id
- Jquery效果只作用于第一个id
- 如何获得第一个的id
& lt; tbody>在HTML表格中使用jQuery - jQuery 遍历 .each() 并基于第一个 .each() 给出迭代 id
- Jquery scrollTop将只滚动到第一个id,而不会滚动到其他id
- JS不读取第一个ID,只读取第二个ID
- ajax表单只向第一个id提交空白描述