如何使用php循环简化js

如何使用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 =

JavaScript代码可以工作,但我需要为每个结果执行新的函数,这样做是否可以加快速度

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
  • 您的代码没有匹配的大括号和正确的html标记
  • 只需将
    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++;
    }