<input type=radio />
いずれかが変更されたときに「ラジオグループ」内のすべてを強調表示するコードを書いています。
ラジオの「変更」イベントのイベントハンドラーで、次のコードを使用して、他のすべての同様のラジオを検索します。
radioHandler: function (event) {
var element = $(this);
var name = element.attr("name");
// Find all radios in the same group:
element.closest("form")
.find("input[type=radio][name='" + name + "']")
.each(function(){
... etc ...
});
},
ラジオが実際にフォームに含まれている場合、これは完全に機能します。ただし、フォームの外
に
ラジオがある場合にも機能させたいと思います。
たとえば、すべての無線が同じを使用すると仮定するとname
、以下は3つの異なる無線グループを表します(すべてのブラウザはこのように動作します)。
o Radio A | o Radio B | o Radio C (Group - no form)
<form> o Radio D | o Radio E | o Radio F </form> (Group - form 1)
<form> o Radio G | o Radio H | o Radio I </form> (Group - form 2)
私が要素を持っている場合、その「グループ」の一部であるラジオだけを見つけるための最良の方法は何ですか?
また、ボーナスポイントの場合...要素が現在のドキュメントの一部ではない場合、つまり、別の「切り離された」コンテキスト内に含まれている場合はどうなりますか?現在のソリューションは正常に機能します(element.closest(...)
要素のコンテキストを使用するため)。