0
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;
}

JavaScript 代码有效,但我需要为每个结果执行新功能,是否让它更快?

$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++;
}
4

2 回答 2

1
  1. 为什么你有两个功能用于同一个目的?
  2. value在这里使用的目的是什么var n = value = szybkosc;
  3. 您的代码没有匹配的大括号和正确的 html 标记。

只需传递id作为第二个参数:

function displayResult(szybkosc, id) {
    var n = szybkosc;
    var u = n.split("|")[1];
    document.getElementById(id).innerText = ' ' + u;
}

PHP 代码更新为:

$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++;
}
于 2013-09-10T04:56:10.970 回答
0

您不需要为 php 循环中的每个项目使用多个 js 函数。只需使用这个单一的 js 函数并相应地将参数传递给它:

function displayResult(szybkosc, id)
   var n=value=szybkosc;
   var u=n.split("|")[1]; 
   document.getElementById('result'+id).innerText = ' '+u;
}

并修改调用js函数的php循环代码:

$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 while 循环没有左大括号。

于 2013-09-10T04:46:27.600 回答