質問: ``` text1 text2 text3 text4 text5 ``` jqueryのラジオボタンで任意のオプションチェックしたいです。 例えばvalue="2"にチェックしたい場合はどのように書けばいいですか?
回答: HTMLの `selected` 属性をちゃんと付け外ししたい場合は `attr()` `removeAttr()` を使わないといけませんが、通常は `prop()` か `val()` を使えばいいかと。 * `` の `selected` プロパティを true にする ``` // 択一のselectやradioでは、どれかtrueにした時点で他はfalseになるので↓は不要 // $("#hoge option:selected").prop("selected", false); $("#hoge option[value=2]").prop("selected", true); ``` 用途:value以外の方法で要素を指定したい時(n番目とか既存のjQueryオブジェクトとか)。複数選択可能な場合は個別に切り替えたい時に使います。 * `` の `value` プロパティを変更する ``` // .prop() でもいいが、専用の .val() が使える // ここで指定する値は `` の `value` 属性に指定した文字列 $("#hoge").val("3"); ``` 用途:選択したい要素のvalueを知っている時。`$("option[value=" + val + "]")` なんて文字列操作をせずに済みます。また複数選択可能な場合は、値を配列で渡すことで一括選択に使います。 なお `` は `` のようにまとめる要素がないので、前者は同じように動作しますが後者は少し変わってきます。この手の要素の選択値の取得・設定については次のページなどがよくまとまっているかと思います。参考までに。 jQueryにおけるフォーム値の取得と設定 : JavaScript好き