IE7で動的追加されたラジオボタンが選択されない場合の対応

  • jQuery1.7

IE7で少し前にはまったのでメモ。
クリックのイベントは検知出来るが、ラジオが選択状態にならない。
手動で選択させることにより回避。

$(document).on("click", ":radio", function() {
  if(!$.support.tbody) { // IE7だとifブロックに入る。もっと厳密な方が良いかも
    // 同一nameのラジオボタンを全て外してから選択する
    $(":radio[name='" + $(this).attr("name") + "']").prop("checked", false);
    $(this).prop("checked", true);
  }
});