0

ラジオボタンのある順序付けられていないリストがあります。チェックしたラジオボタンのIDを取得したい。

HTMLは次のとおりです。

<ul class="class1">
 <li>
  <label id="id1">
   <input id="id1A" type="radio" value="2" name="name1" onchange="say(); return false;">
   <span class="className1">Some Text1</span>
  </label>
 </li>
 <li>
  <label id="id2">
   <input id="id2A" type="radio" value="1" name="name1" onchange="say(); return false;">
   <span class="className1">Some Text2</span>
  </label>
 </li>
</ul>

<ul class="class2">
 <li>
  <label id="id21">
   <input id="id21A" type="radio" value="2" name="name2" onchange="say(); return false;">
   <span class="className21">Some Text21</span>
  </label>
 </li>
 <li>
  <label id="id2">
   <input id="id22A" type="radio" value="1" name="name2" onchange="say(); return false;">
   <span class="className21">Some Text22</span>
  </label>
 </li>
</ul>

そして、ここにJavascriptがあります:

<script type="text/javascript">
function say() {
    var firstChild = document.getElementsByClassName('class1');
        firstChild = Array.prototype.slice.call(firstChild);
        for(var j =0; j < parent.length; j++){  
            var firstChildElem = firstChild;
            for (var x = 0; x < secondChild.length; x ++) {
                if (secondChild[x].checked) {
                    alert("You checked " + secondChild[w]);             
                }
            }
        }
</script>

しかし、このスクリプトは機能しません。

4

2 に答える 2

0

この種のことを行うにはjQueryを使用することをお勧めします。jQuery のソリューションは、次のように単純です。

$("input:radio[name=name1]:checked").val();

はどこname1に置き換えられますかname2。あなたが何を意味するのかわからないSelectedIndex。ドロップダウンリストには選択されたインデックスがありますが、ラジオボタンがチェックされているかどうか...

于 2012-05-04T17:27:58.010 に答える
-1

最も簡単な方法:

1. 2. 新しい Javascriptonchange="say();に変更:onchange="say('CURRID');

<script type="text/javascript">
function say(currID){
alert("You checked: " + currID);
}
</script>

その後、タグのid="id1A"一部が不要になった場合は、これらの部分を削除できます。input

于 2012-05-04T17:36:27.753 に答える