1

n行のhtmlテーブルがあります。各行には、名前と2つのラジオボタンがあります。ラジオボタンをクリックすると、投票数を示すアラートが表示されます。ラジオボタンの名前をJavascriptに渡すにはどうすればよいですか?また、カウントを行うにはどうすればよいですか?

PHPの部分は次のとおりです。

list($cols,) = $xlsx->dimension();
$var=0;
foreach( $xlsx->rows() as $k => $r) {
    $var++;
    echo '<tr>';
        echo '<td>'.$k.'</td>';
        echo '<td>'.( (isset($r[0])) ? $r[0] : '&nbsp;' ).'</td>';
        echo '<td><Input type = "Radio" Name ="vote'.$var.'" value= "pacada"  onclick = "AddPacada()"></td>';
        echo '<td><Input type = "Radio" Name ="vote'.$var.'" value= "toledo"  onclick = "AddToledo()"></td>';
    echo '</tr>';

これがJavascriptの部分です。

function AddPacada(){
if(document.tally.pacada.checked == true){
    alert("You have clicked on Pacada.");
}
}function AddToledo(){
if(document.tally.toledo.checked == true){
    alert("You have clicked on Toledo.");
}
}
4

2 に答える 2

1

引数として渡すだけです:

... onclick = "AddPacada(this)" ...
                         ^^^^

/* And in your function: */

function AddPacada(radio) {
    alert(radio.value);
}
于 2012-12-23T20:52:43.813 に答える
0

onclickPHPコードを次のように変更しますonclick=tally(this)

次に、この JavaScript は現在選択されている合計を警告します。

<script>
  var selections = new Array(); //keep track of the selections
  function tally(e) {
    val  = e.value;
    name = e.name;

    selections[name] = val;  //an associative array or "hash"

    var totals = new Array();
    for (var key in selections) {
      var selection=selections[key];
      if(totals[selection] == undefined) { //set to 1 if not already initialized
        totals[selection] = 1;
      } else {
        totals[selection] += 1;
      }
    }
    alert(val + " has been selected " + totals[val] + " times");
  }

</script>

スタイルに関しては、次の HTML を発行しようとします。

<input type="radio" name="var1" value="a" onclick="tally(this)"/>
<input type="radio" name="var1" value="b" onclick="tally(this)"/>

<input type="radio" name="var2" value="a" onclick="tally(this)"/>
<input type="radio" name="var2" value="b" onclick="tally(this)"/>

スペースとケースに注意してください。

于 2012-12-23T21:25:18.130 に答える