如何使用php循环简化js
JavaScript代码可以工作,但我需要为每个结果执行新的函数,这样做是否可以加快速度如何使用php循环简化js,php,javascript,Php,Javascript,JavaScript代码可以工作,但我需要为每个结果执行新的函数,这样做是否可以加快速度 function displayResult1(szybkosc) { var n = value = szybkosc; var u = n.split("|")[1]; document.getElementById('result1').innerText = ' '+u; } function displayResult2(szybkosc) { var n =
function displayResult1(szybkosc) {
var n = value = szybkosc;
var u = n.split("|")[1];
document.getElementById('result1').innerText = ' '+u;
}
function displayResult2(szybkosc) {
var n = value = szybkosc;
var u = n.split("|")[1];
document.getElementById('result2').innerText = ' '+u;
}
$i=1;
而($i<10){
$result=“result”。$i;
$displayResult=“displayResult”。$i;
回显“用户号”。$i。“
";
$i++;
}
您不需要为php循环中的每个项使用多个js函数。
只需使用此js函数并相应地向其传递参数:
$i = 1;
while($i < 10){
$result = "result" . $i;
$displayResult = "displayResult" . $i;
echo "user number ".$i."
<input type='radio' name='szybkosc' onclick='$displayResult(this.value)' value='$sp1[id]|1|$row[id]' />
<input type='radio' name='szybkosc' onclick='$displayResult(this.value)' value='$sp1[id]|3|$row[id]' />
<span id='$result'></span></br>
<input type='radio' name='ss' value='$sp1[id]|1|$row[id]' />
<input type='radio' name='ss' onclick='$displayResult(this.value)' value='$sp1[id]|1|$row[id]' />";
$i++;
}
并修改调用js函数的php循环代码:
function displayResult(szybkosc, id)
var n=value=szybkosc;
var u=n.split("|")[1];
document.getElementById('result'+id).innerText = ' '+u;
}
顺便说一下,您的php while循环没有大括号
value
的目的是什么var n=value=szybkosc代码>
id
作为第二个参数传递:
$i = 1;
while($i $result = "result" . $i;
$displayResult = "displayResult" . $i;
echo "user number ".$i."
input type='radio' name='szybkosc' onclick='$displayResult(this.value, '.$i.')' value='$sp1[id]|1|$row[id]' />
input type='radio' name='szybkosc' onclick='$displayResult(this.value, '.$i.')' value='$sp1[id]|3|$row[id]' />
input type='radio' name='ss' value='$sp1[id]|1|$row[id]' />
input type='radio' name='ss' onclick='$displayResult(this.value, '.$i.')' value='$sp1[id]|1|$row[id]' />";
$i++;
}
PHP代码更新为:
function displayResult(szybkosc, id) {
var n = szybkosc;
var u = n.split("|")[1];
document.getElementById(id).innerText = ' ' + u;
}
$i=1;
而($i<10){
$result=“result”。$i;
$displayResult=“displayResult”。$i;
回显“用户号”。$i。“
";
$i++;
}
它不起作用,不应该是document.getElementById(结果,id)而不是document.getElementById(id)可能?否。getElementById()
是一个内置函数,它接受id的字符串表示形式作为参数。你犯了什么错误。检查开发者工具/Firebug中的控制台。
$i = 1;
while($i < 10){
$result = "result" . $i;
$displayResult = "displayResult" . $i;
echo "user number ".$i."
<input type='radio' name='szybkosc' onclick='$displayResult(this.value)' value='$sp1[id]|1|$row[id]' />
<input type='radio' name='szybkosc' onclick='$displayResult(this.value)' value='$sp1[id]|3|$row[id]' />
<span id='$result'></span></br>
<input type='radio' name='ss' value='$sp1[id]|1|$row[id]' />
<input type='radio' name='ss' onclick='$displayResult(this.value, "result' . $i .'")' value='$sp1[id]|1|$row[id]' />";
$i++;
}