2009-08-13 16 views
9

私はonClick関数内でJQueryを使用できますか?例えばonClick内でJQueryを使用する

は:

<a onclick="my_save_function($("#inputID").val())">
<input type=hidden id="inputID" value="foo">

このようなことが、クリックされたときに、アンカータグは、この実行されます。いくつかの検索後

my_save_function(foo);

、私は見つけることができませんでした類似のトピック何か助けてくれてありがとう。

+0

迅速な対応をありがとうございます。私はSOのコミュニティに驚かされることは決してありません。 –

答えて

16

です。 jQueryは特別な宇宙には存在しません。それはあなたが(非常に)有用であるかもしれないJavaScript関数のコレクションです。

しかし、とにかくjQueryを使用している場合、jQuery内からonclickイベントを正しく添付しないのはなぜですか?あなただけやる必要があるだろう:正直なところ

function my_save_function(elid){ 
    v = $("#"+elid).val(); 
    // do stuff with v 
} 
+0

たとえば、htmlを使っているのであれば、必ずしもそうではありません。 – Karlth

+0

新しいHTMLをインジェクトする場合は、DOMの一部としてすぐにハンドラーを追加することができます。タイミング(つまり、コード内のシーケンス)は多少異なる場合がありますが、イベントハンドラをアタッチする際の基本的な違いはありません。 – VoteyDisciple

+0

DOSに接続するときにハンドラをアタッチすることは、必ずしも可能ではありません。プロジェクトの構造に依存します。たとえば、コードが注入されたときではなく、Htmlの作成のみを制御する場合です。 – Karlth

3

これは(あなたがアンカータグのIDが必要になります)してみてくださいあなたはすでにコードとマークアップを書いていますが、それを実行してそれが機能するかどうかは分かりませんでしたか?

あなたの質問に答えて、はい、これはうまくいくはずですが、ネストされた見積もりを見てください。要素にクリックハンドラを追加すると、属性文字列に関数の本文を埋め込むよりも、フォームの読み込みと管理が容易になります。

0

<a onclick="my_save_function(this.id);"> 

とあなたのJavaScriptで:

$(document).ready(function() { 
    $("#id-for-that-link").click(function() { 
     my_save_function($("#inputID").val()); 
    }); 
}); 
+0

私はそれを試みました。しかし、私はFireBugで構文エラーが発生しています。構文エラーです。my_save_function($(JQueryが関数内で使用できるかどうかはわかりませんでしたので、私が尋ねた理由です) –

+0

賛成です。あなたはインナーセットに一重引用符を使うか、余分な二重引用符をエスケープする必要があります。 – flatline

+0

それはまさに問題になっています。 –

関連する問題