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


Javascript - passing dynamic recursive PHP value as javascript function

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

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>";

提前谢谢。

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

此外,不一定要使用window.alert,只需使用alert即可。

所以,代码是:

... onchange = "ControllaCodice(this)" ...

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

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

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