2012-12-23 123 views
1

我有一個有n行的html表格。每行有一個名字和2個單選按鈕。如果我點擊一個單選按鈕,我想顯示一個提醒,表明選票的數量。我應該如何將單選按鈕的名稱傳遞給JavaScript,我應該如何進行計數?提前致謝。如何將單選按鈕的名稱傳遞給onclick事件的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."); 
} 
} 
+0

使用'this'有什麼問題? –

+0

你的意思是名稱或價值? – Popnoodles

回答

1

你只是把它作爲一個參數:

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

/* And in your function: */ 

function AddPacada(radio) { 
    alert(radio.value); 
} 
+0

謝謝。現在我有數。我應該如何將計數傳遞給php? –

+0

@PebbeBunoan:我建議你開始閱讀一本關於JavaScript的基礎知識的書,如果你需要問任何你可能會遇到的問題。你將會進步得更快。如果你不想讀一本書,也有很多很好的入門在線資源。 – hakre

0

更改onclick在PHP代碼到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)"/> 

注意間距和情況。

相關問題