jQuery Checkbox, динамически создаваемый с помеченным свойством - PullRequest
2 голосов
/ 03 декабря 2010
$('<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);

Я динамически создаю элемент флажка. Мне нужно затем присвоить проверенное свойство ему или нет. Но в приведенном ниже коде это всегда проверяется, потому что свойство присутствует.

Помощь

Ответы [ 2 ]

4 голосов
/ 03 декабря 2010

Не используйте здесь строку, используйте логическое значение:

$('<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 голос
/ 03 декабря 2010

Вот еще один вариант

$('<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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...