2010-12-06 18 views
4

ボタンセットにいくつかのチェックボックスがあり、Jqueryを使用してチェックボックスの1つをチェックしたいと思います。Jqueryを使用してJqueryボタンセットのチェックボックスをチェックする

ただし、チェックボックスの視覚的表現は更新されません。すなわち、$('#chk').attr('checked',true);の実行後、チェックされた値はtrueですが、チェックボックスはチェックされません。

は、ここにデモ:http://jsfiddle.net/kralco626/jzVjT/1/

感謝を!

+1

注:jsfiddleの例のボタンをクリックすると、チェックボックスがオンになっています。ボタンをクリックした後でチェックボックスをクリックすると、チェックボックスが「未チェック」の状態で表示されるため、これを知ることができます。 – kralco626

+0

Nick Craverの答えはうまくいくはずです。仮にあなたが本当に欲しいのがボタンセットであれば、元のソースをチェックボックスではなくラジオボタンのグループにしたいと思うかもしれません。通常、ボタンセットは相互に排他的なオプションのグループを提供しますが、チェックボックスは個々のプロパティのオン/オフを切り替えます(これらのボタンはボタンを直接押すとトグルボタンに変わります)。 – RwwL

+0

ラジオボタンの機能ではなく、チェックボックスの機能が必要です。 Jqueryボタンセットは、チェックボックスタイプのセットか、タイプチェックボックスまたはラジオの入力が含まれているかどうかに基づいて設定されるラジオボタンタイプのいずれかになります。 – kralco626

答えて

16

あなたはこのようchecked状態へのプログラムの変更、後に視覚的な状態を更新するためにbuttonsetにthe refresh methodを呼び出す必要があります:

$("#test").buttonset("refresh"); 

You can test it out here

+0

私の正気を保存していただきありがとうございます! – Morvael

-1

'true' 

ではなく

true 

属性を試してみては常に文字列値です。

編集:

気にしないでください。ボタンセットの機能に手掛かりはありませんが、物事は正常に動作していません。 APIのドキュメントを確認してください。

+1

これは間違っています。ブール値で、 '' false''は予期せずチェックされています。 –

+0

Ick。あなたは正しいですが、私はJQがそれをそうするのは嫌です。 –

+1

はい、 'attr'は属性にアクセスするのではなく、属性にアクセスするのを混乱させます。 jQueryはその違いを隠そうとしますが、違いはまだあります。 – bobince

関連する問題