jQueryを使って選択状態にする
以下のようなhtmlがあったときに、
<div> <input type="text" name="txt"><br> <input type="checkbox" name="chk" value="true"><br> <input type="radio" name="rdo" value="false">false <input type="radio" name="rdo" value="true">true<br> <select name="sel"> <option value="false">false</option> <option value="true">true</option> </select><br> </div> <button onclick="setTrue();">click!</button>
とりあえずボタンを押したら全ての入力要素に「true」を設定するというsetTrue関数を実行する。
ただし、チェックボックスであればtrueの方がチェックされた状態に、ラジオボタンも同じくtrueの方が選択状態に、プルダウンであればtrueが選択された状態になって欲しい。こんなjavascriptを書いた。
function setTrue() { $("div :input").each(function(){ $(this).val("true"); }); }
これで、テキストフィールドはtrueと入力され、プルダウン項目は選択された状態になった。しかしながらチェックボックスとラジオボタンはならず。
というわけでこんな風に書かないといけないっぽい。
function setTrue() { $("div :input").each(function(){ if($(this).val() == "true" && ($(this).is(":checkbox") || $(this).is(":radio"))) { $(this).attr("checked", "checked"); }else{ $(this).val("true"); } }); }
うーむ。おしいなぁ。。