このスクリプトでは、ほとんどの場合、(ラジオボタンがチェックされているかどうか調べています)そのうちの1つがチェックされている場合は、アラートが1つだけ必要です。div内のラジオボタンの1つがチェックされているかどうかを確認してください
背景情報: これがチェックされていると、次のdivが表示されます。そうでない場合、divは表示されません。私のシステムの上では、チェックされたラジオボタンをクリックするとチェックが外され、表示されたdivは非表示になります。
マイコード:ここで
<div class="divtop">
<input type="radio" name="r1" value="v1" />
<input type="radio" name="r1" value="v2" />
<input type="radio" name="r1" value="v3" />
<div>
はスクリプトです:
$('.divtop input:radio').live('click', function(event) {
var div = $("div.divtop");
var radiobuttons = div.find("input[type='radio']");
for (var i = 0; i < radiobuttons.length; i++) {
if (radiobuttons[i].type === 'radio' && radiobuttons[i].checked) {
alert ('on') // action
} else {
alert ('off') // action
}} });
どのように私は、ラジオボタンのいずれかがチェックされている場合にのみ1つのアラートを取得するには、このスクリプトを適応させることができますか?
ラジオボタンのグループごとに異なる状況で適用されるため、この関数は汎用(ラジオボタン名の使用なし)でなければなりません。あなたのポストにあなたのコメントに応えて
これはチェックする奇妙なことです。ラジオボタンのクリックイベントに関数をバインドしています。クリックすると選択されたグループにラジオボタンを1つだけ持つことができるので、何がポイントですか?言い換えれば、*が*ラジオボタンをクリックしていない場合、そのラジオボタンが選択されていることを意味しますか? – j08691
@ j08691 - よく始めるにはすべてチェックを外すことができますが、少なくとも1つは最初にチェックし、それ以降はすべてのチェックを外すことはできません本当だろう? – adeneo
@adeneo - 古いリセットボタンを使用しない限り誰でもまだそれを使用していますか? – j08691