2012-01-12 15 views
0

を結合しないjavascript関数を宣言しました。は、私は次のコードを持って正しく

他のイベントで同じ関数を呼び出そうとすると、動作が停止します。

$(document).ready(function() { 
    $(function detinator() { 
        $("select#arhpcnDetinator").jCombo("services/det.php", { 
          initial_text: "Detinator", 
          selected_value: $("input#arhpcndetinatorID").val() 
        }); 
    $("#imag").click(detinator); 
    }); 
}); 

HTMLは次のとおりです。

<img src="Sync.png" id="imag" onclick="ziceva"> 

私を助けてください!前もって感謝します。

答えて

2

私はそうのように、あなたがそこに持っている二重ラッパーからそれを削除します:

$(document).ready(function() { 
    var detinator = function() { 
     $("select#arhpcnDetinator").jCombo("services/det.php", { 
     initial_text: "Detinator", 
     selected_value: $("input#arhpcndetinatorID").val() 
     }); 
    }; 

    $("#imag").click(detinator); 
}); 
+0

「ダブルラップ」は奇妙でした。私は関数宣言を準備関数の外に移動します。 –

+0

それは単なる例示であった。 –

+0

'detinator'への呼び出しを追加しない限り、これは彼のコードと同じではありません。これは非常に奇妙な構造であり、その機能は準備ができたら呼び出されます。意図的なのかどうかは疑問だが、彼のやり方では、それぞれの呼び出しで追加の 'click'ハンドラも追加されるだろう。 –

0

は、あなたがこのような何かをしようとすることはできますか?

$(document).ready(function() { 

    $("#imag").click(function() { 
       $("select#arhpcnDetinator").jCombo("services/det.php", { 
         initial_text: "Detinator", 
         selected_value: $("input#arhpcndetinatorID").val() 
       }); 

    }); 


}); 
+0

これは私が望むものではありません。なぜなら、DOMがロードされているとき、jComboが私の選択ボックスにフィードするからです。新しいレコードを(別のウィンドウで)追加した後、選択リストをリフレッシュ/リロードしてjCombo(jSON)を呼び出す必要があります。 –

0

detinator関数をjavascriptに変換してみてください。

$(document).ready(function() { 
    function detinator() { 
      $("select#arhpcnDetinator").jCombo("services/det.php", { 
       initial_text: "Detinator", 
       selected_value: $("input#arhpcndetinatorID").val() 
      }); 
    } 
    $("#imag").click(detinator()); 
}); 
+0

あなたは 'detinator'を呼び出すべきではありません。 'detinator'の戻り値を' click'に渡しています。これは何もありません。また、元のコードは 'ready'関数を実行します。 –

+0

しかし、私は 'detinator'関数を呼び出さなければなりません:)。 DOMがロードされると、jComboが選択リストをフィードします。新しいレコードを(別のウィンドウで)追加したら、選択リストをリフレッシュ/リロードし、 '#imag'をクリックしてjCombo(jSON)を呼び出す必要があります。 –

0

私はあなたが$("select#arhpcnDetinator").jCombo("services/det.php",後に持って開き括弧{が問題だと思います。それを取り外してもう一度やり直してください。

+0

いいえ、jCombo関数の一部です –

+0

これはかっこではなく、中かっこまたはかっこです。私はそれに問題はないと思う。 –

関連する問題