$('<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属性分配给它。但是在下面的代码中,它总是被检查,因为属性存在。
帮助?
答案 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
。而是将其直接设置为true
或false
,无需字符串。
答案 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);