2010-12-02 14 views
2
$('<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); 

私は動的にチェックボックス要素を作成しています。私はそれにチェックされたプロパティを割り当てる必要があります。しかし、以下のコードでは、プロパティが存在するため常にチェックされています。jQueryチェックボックスは、チェックされたプロパティで動的に作成されました

ヘルプ?

答えて

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ので、任意の非0の長さの文字列が"false"であることを意味し、「truey」で、DOMのbooleanプロパティです本当にtrueです。代わりにtrueまたはfalseに文字列を直接設定しないでください。

+0

です;) 'チェックされます1 – jwueller

+1

:三なくて、value.AttributeValue = "0"'!。 :) – Tomalak

+0

@トマラク - +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); 
関連する問題