使用checked属性动态创建jQuery Checkbox

时间:2010-12-02 21:47:40

标签: jquery checkbox

$('<input>', {
    type: "checkbox",
    id: "checkbox" + value.AttributeName,
    name: "checkbox" + value.AttributeName,
    className: required + " " + dataType,
    attributeId: value.AttributeId,
    disabled: readOnly,
    checked: (value.AttributeValue != "0") ? "true" : "false"
}).appendTo(li);

我正在动态创建一个复选框元素。然后我需要将checked属性分配给它。但是在下面的代码中,它总是被检查,因为属性存在。

帮助?

2 个答案:

答案 0 :(得分:4)

这里不要使用字符串,请使用布尔值:

$('<input>', {
    type: "checkbox",
    id: "checkbox" + value.AttributeName,
    name: "checkbox" + value.AttributeName,
    className: required + " " + dataType,
    attributeId: value.AttributeId,
    disabled: readOnly,
    checked: (value.AttributeValue != "0")
}).appendTo(li);

checked是DOM中的布尔属性,因此任何非0长度的字符串都是“truey”,这意味着"false"实际上是true。而是将其直接设置为truefalse,无需字符串。

答案 1 :(得分:1)

这是另一个选择

$('<input>', {
    type: "checkbox",
    id: "checkbox" + value.AttributeName,
    name: "checkbox" + value.AttributeName,
    className: required + " " + dataType,
    attributeId: value.AttributeId,
    disabled: readOnly,
}).attr('checked',value.AttributeValue!="0")
  .appendTo(li);