HTML Numerical Input Bug:调用jquery.change事件时的无限循环

时间:2013-03-14 19:03:48

标签: php html input

我使用PHP创建了一个HTML表格,如下所示:

$i = 1;
while($row = mysql_fetch_array($result)){
Print "<tr>"; 
Print "<td><input id='prEff[$i]' type='number' step='0.01' min='0.01' max='0.99' value='.85' </td>";
Print "<td>".$row['ErdEfficiency'] . "</td>";
Print "<td>".$row['TheoreticalSEC'] . "</td></tr>";

$i++;
}

输入单元格有一个jquery.change函数,当该数字在该范围内更改时会调用该函数。在调试期间,单击向上或向下按钮一次(使用镶边)会使输入贯穿所有值,直到达到上限或下限。因此调用该函数,但仅在整个值范围之后运行。

如果在没有调试的情况下刷新页面,则会调用jquery,但是按钮会因为遇到所描述的错误而粘住。

这是简单的jquery函数:

$('[id^="prEff["]').change(function (){
        var test = this;
        alert("hi");
});

这是一个难以跟踪的错误,我不确定是什么导致它。它在输入中出现onchange属性,以及javascript eventListener和jquery更改。它可能是PHP打印输入的方式,但我尝试了几种不同的方法但没有成功。

1 个答案:

答案 0 :(得分:0)

您的代码中似乎有一个未公开的<input>标记。确保你关闭它,你应该没事:

Print "<td><input id='prEff[$i]' type='number' step='0.01' min='0.01' max='0.99' value='.85' /> </td>";