複数のラジオボタングループの最初の要素をチェックしたいと思います。Jqueryなしですべてのラジオボタンを確認する
私は、はい私はfirequeryがあると知って、私はしたくない理由であるFirebugのを、使用していますが、
どれヘルプyouldは素晴らしいこと:)彼らは昔にそれをやったような方法がなければなりません、thx事前に。
複数のラジオボタングループの最初の要素をチェックしたいと思います。Jqueryなしですべてのラジオボタンを確認する
私は、はい私はfirequeryがあると知って、私はしたくない理由であるFirebugのを、使用していますが、
どれヘルプyouldは素晴らしいこと:)彼らは昔にそれをやったような方法がなければなりません、thx事前に。
ループ後方document.getElementsByTagName('input')
上及びtype
が"radio"
に等しい場合true
にchecked
を設定。
同じグループ内の複数のボタンを確認しようとすると、最後のものが保持されます。
したがって、後ろにループすると、各グループの最初のオプションがチェックされます。ここで少し愚かな感じ
更新
、あなたあなたがFirebugのを使用して、ひいてはFirefox、および私たちが利用できるquerySelector
を持っていたと述べました。したがって、任意の所与のグループ内の最初のラジオボタンがチェックされているワンライナー:
document.querySelector('input[type="radio"][name="theGroupName"]').checked = true;
querySelector
戻り第マッチング部材、及びので、上記type="radio"
とを有する第1 input
要素が返されname="theGroupName"
。次に、checked
をtrue
に設定します。 (再び)すべてグループの最初の操作を行うが、それはあなたがより多くの制御を与え、あるいない確かに
ワンライナー — Firebugのに便利。
オリジナル答え
あなたは文書順にすべてinput
の要素を取得するためにgetElementsByTagName
を使用することができます。その後、ループして、type="radio"
のものを処理し、取り込んだ最後のname
を覚えておいてください。各名前の最初にchecked = true
とマークしてください。
例えば:
var inputs = document.getElementsByTagName('input');
var lastName, index, input;
for (index = 0; index < inputs.length; ++index) {
input = inputs.item(index);
if (input.type.toLowerCase() === "radio") {
if (input.name !== lastName) {
lastName = input.name;
input.checked = true;
}
}
}
あなたには、いくつかのコンテナにそれを制限したい場合は、あなたがelement
version of getElementsByTagName
を使用することができます。
どうすればいいですか?私が必要とするものとまったく同じように後ろにループします。 – Harry
'for(var i = arr.length - 1; i> = 0; i - )' – SLaks
これは間違っているようです...しかし、それはとても簡単で、うまくいくはずです。 :-) –