0

.changeこんにちは私はjquery関数に取り組んでいました。

JavaScript コード :

 $(document).ready(function () {

    $("#user").change(function()
    {
       var v=$('#user').val();
       var i=0;
       var id1="";
       while(v[i]!="|")
       {
          parseInt(v[i]);
          id1=(id1)+v[i];
          i++;
       }
      $("#dummy").attr("href", "create_graph/demo_graph.php?id="+id1);
      $("#dummy").attr("target",'content1');
  });

HTML コード :

User Name:
<TD>
    <SELECT NAME='user' id='user'>
        <OPTION value=''></OPTION>{USER}
    </SELECT>
</TD>

Mozilla と Chrome では正常に動作しますが、ポップアップ ボックスが表示されます。

"Stop running this script? 
A script on this page is causing your web browser to run slowly. If it continues to run, your          
computer might become unresponsive. "

「いいえ」と言っても、このポップアップボックスが何度も表示されます

上記のJavaScriptを削除すると、ポップアップが表示されません...

私を助けてください。必要に応じて必要な情報を提供します。

4

2 に答える 2

4

v[i]!="|"vが含まれていない場合は常に true|になるため、無限ループになります。

の前に部分を取得したいだけなので、次のメソッド|を使用できます。split

$("#user").change(function() {
    var id = $(this).val().split('|')[0];
    $("#dummy").attr("href", "create_graph/demo_graph.php?id="+id);
    $("#dummy").attr("target",'content1');
});
于 2013-04-10T07:34:39.750 に答える