Javascript - 将动态递归PHP值作为javascript函数传递

时间:2016-07-27 15:57:25

标签: javascript php checkbox dynamic-values

javascript新手。我在PHP中有一个看起来像这样的循环

while ($row_voucher=mysql_fetch_row($risultato_query_voucher)) {    //INFO poche righe sotto, date_format da solo non funziona 
        echo "<tr>\n
                <td id=" . $row_voucher[3] ."><input type='checkbox' value='" . $row_voucher[3] . "' onchange='ControllaCodice(this)' id='" . $row_voucher[6] . "'></td>\n
                <td>" . $row_voucher[2] . "</td>\n
                <td>" . $row_voucher[3] . "</td>\n
                <td>" . date_format( new DateTime($row_voucher[4]), 'd/m/Y' ). "</td>\n
                <td>" . date_format( new DateTime($row_voucher[5]), 'd/m/Y' ). "</td>\n
                <td>" . $row_voucher[6] . "</td>\n
              </tr>\n";
      }

我需要做的是,当您单击复选框时,获取第一个输入类型的值并添加它。由于它是一个while循环,因此将生成一个包含许多复选框的表,每个复选框具有不同的值。因此,如果您检查3个复选框,我写的javascript应该取3个值并添加它然后打印出来。 如果可能的话,我还需要在检查时添加值,并在取消选中时减去它。

以下是无效的javascript代码:

<script type='text/javascript'>
   function ControllaCodice(this.value){
   window.alert(this.value);
   }
 </script>";

提前谢谢。

2 个答案:

答案 0 :(得分:0)

您不会将this.value,而是this传递给接受一个属性的函数。变量的名称无关紧要,只有内容的名称。但是,你不能在函数中接受this,它是一个保留变量。

此外,使用window.alert并非强制性,只能使用alert

所以,代码是:

... onchange = "ControllaCodice(this)" ...
function ControllaCodice(c){
   alert(c.value);
}

答案 1 :(得分:0)

this.value不是有效的参数名称,使用函数所有者作为参数是个坏主意。相反,让它成为一个正常的参数。

function ControllaCodice(input) {
    alert(input.value);
}