javascript - jQuery 仅从循环中获取第一个 id 值

标签 javascript php jquery forms

我的代码是:

<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 元素是您计划在服务器端处理的表单元素,您将需要以不同的方式命名它们,否则只有最后分配的值可用。

关于javascript - jQuery 仅从循环中获取第一个 id 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25700929/

相关文章:

javascript - Angular 1/ui-router - 将函数执行到数据对象中

php - 状态更改时使用订单数量更新产品数量的sql查询

php - 日志/图表 PHP 执行时间

php - 将 PHP 背景颜色更改为 CSS 调用

jquery - 在页面加载时加载 Foundation 模式

javascript - 用javascript调用外部网页(跨域)

javascript - touchstart 处理程序在 iframe 中包装时会弄乱文本输入的焦点

jquery - 计算字符串中的字符数但想跳过注释

javascript - 如何在 svg 中使用 svg?

javascript - 创建具有相同动态类的元素数组或对象