Javascript — передача динамического рекурсивного значения PHP как функции javascript

Новое в 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>";

Заранее спасибо.

0

Решение

Вы не проходите this.value, но this к функции, которая принимает один атрибут. Имя переменной не имеет значения, только содержание делает. Хотя вы не можете принять this в функции это зарезервированная переменная.

Также не обязательно использовать window.alert, может быть сделано только с alert,

Итак, код:

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

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

Другие решения

this.value не является допустимым именем параметра, и использование владельца функции в качестве параметра является плохой идеей. Вместо этого, пусть это будет нормальный параметр.

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

По вопросам рекламы [email protected]