0

こんな設定してるのに…

$(document).ready(function(){ 
  var model = { /* some variable names */, Traits[] };
  var traits = // json array pulled from server.

  $('input[type=checkbox]').button(); // jquery ui button control.
});

さて、私の HTML には、このような jQuery テンプレートがあります。

{{each(i, trait) traits}}
   <input type='checkbox' id='chk${trait.Name}' />
   <label for='chk${trait.Name}'>${trait.Name}</label>
{{/each}}

今、私がこのスタイルを使って物を作っているとき、うまく機能しています。しかし、編集するときは、すでに選択されている「特性」をデフォルトで「チェック」したいと思います。だから私はこのコードを試しました..

// jquery startup... variable loading, etc.
function evaluateCheckbox(item){
   $("'#chk" + item.Name + "'").attr('checked', true);
}
model.Traits.forEach(evaluateCheckbox);

これはボックスをチェックしないだけでなく、すべてのチェックボックスを 2 回作成します。これがなぜなのかわかりません。誰かが私に洞察と、それを修正する方法についてのアイデアを教えてもらえますか?

4

2 に答える 2

3

そこに追加のqoutesのセットがあり、次のようになります。

$('#chk' + item.Name).attr('checked', true);

次のように、後でjQueryUIボタンの表示状態も更新することをお勧めします。

$('#chk' + item.Name).attr('checked', true).button('refresh');
于 2010-10-29T15:05:09.053 に答える
0

チェックボックスを複数回作成することについては、私はそれを証明できません。ただし、ボックスをチェックするには、evaluateCheckbox コードをチェックして、

$("'#chk" + item.Name + "'").attr('checked', 'checked');
于 2010-10-29T15:00:27.550 に答える