javascript - 使用 jQuery 设置复选框

标签 javascript jquery arrays input checkbox

我有两个输入复选框,我想用 jQuery 选中/取消选中它们:

<input type="checkbox" name="user1" value="1" id="u1" onclick="loadUserCalendar(1)">
<input type="checkbox" name="user2" value="2" id="u2" onclick="loadUserCalendar(2)">

JavaScript 代码:

var list = new cookieList("calendar_users"); 
var users = list.items();
for (var i = 0; i < users.length; i++) {
    $('input[name="user' + users[i].substr(1,1) + '"]').attr('checked', true);
    console.log('substring: ' + users[i].substr(1,1));
    console.log('enabling user ' + users[i]);
}

var users 包含这些值:u1,u2。为了仅获取用户 ID,我执行了一个子字符串,它为我提供了正确的数字,如下面的控制台输出所示。

控制台输出:

substring: 1
enabling user u1
substring: 2 
enabling user u2 

我不知道为什么在代码运行时复选框没有被选中。我在这里做错了什么?

编辑:由于兼容性原因,我正在使用 jQuery 1.4.4,这就是我使用 .attr()

的原因

最佳答案

内联事件处理程序 (onclick="loadUserCalendar(1)") 不是 jQuery 方式。你的 html 中不应该有任何内容。摆脱它们并添加到您的 jquery 中:

$(function() {
    $('form').on('click',':checkbox', function() {
        loadUserCalendar($(this).val());
    });
});

但也许你想要的是这样的:

$(function() {
    $('form').on('click',':checkbox', function() {
        $('form :checkbox').attr('checked','checked');
    });
});

jquery 1.ancient版本:

$(function() {
    $('input[type=checkbox]').live('click', function() {
        // do things
    });
});

关于javascript - 使用 jQuery 设置复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17492603/

相关文章:

javascript - 如何使用自定义参数制作自定义 CasperJS 模块?

javascript - 数组对象循环中的问题 javascript

javascript - 为什么 ASP.net RadioButtonList onchange 客户端事件不触发?

jquery - 如何使用jquery开发是不确认

javascript - jQuery在点击时改变多个元素的颜色

c++ - 尝试在 C++ 中使用动态数组推送值

javascript - 如何为 Amazon ECS 上托管的服务器运行 Node.js 工作线程?

javascript - 什么是 self.scale.endPoint chartJs v2.0?

java - 将字节数组转换为字符串 - java

arrays - 使用一系列数字范围创建新列