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");
    }
  });
}

うーむ。おしいなぁ。。