1


0

Jqueryでエラーと呼ばれる同じ部門

私はJQueryが初めてです。 私は


私は私のコードでそれを2回参照しています。 しかし、その都度、同じ1番目の参照を参照しています。

E.g. 最初に値で `+ DIV +`コンテンツを変更しています

$("#field1").change(function (){alert('hi')});

いくつかのコードをお互いの内側にクリックした後、私は持っています

$("#field1").change(function(){alert('again')});

他のコンテンツで2番目の変更機能を使用したい場合は、最初の変更機能が呼び出されます。 最初の変更が呼び出され、2番目の変更だけが呼び出されるのを止めるにはどうすればよいですか。

しかし、この2番目のものは最初のものを指します。 どうすればこれを修正できますか? 2回目の変更でも `+ $(this)+`を使用しました。 https://stackoverflow.com/questions/950037/same-ajax-called-twice-jquery [同じAjaxが2回呼び出されました..JQuery]

5 Answer


7


あなたがやろうとしていることは、あなたが質問をした方法から明らかではありません。 あなたがコードに入れたものから、私はあなたがdivのonChangeイベントを修正しようとしていると思います。 だからあなたから始めるために:

$( "#field1")。change(function(){alert( 'hi')});

そして#field1が変更されたときにalert( 'hi')を呼び出す関数を起動したい。

後で実行するボタンがあります。

$( "#field1")。change(function(){alert( 'again')});

そして、#field1を変更してalert( 'again')を呼び出す関数を起動します。

しかし、変更が発生したときに表示されるのは、「hi」が表示された警告ボックスです。

何が起きているのかというと、alert( 'hi')とalert( 'again')の両方がchangeイベントに拘束されているということです。 changeイベントを置き換えたい場合は、まず unbind(type、fn)関数を使用する必要があります。

両方を発砲させたい場合は、「falseを返す」必要があります。あなたの変更機能から。


2


同じIDを持つ2つのDIVがあるということなら、それは実際には無効なHTMLです。 IDはドキュメントごとに一意である必要があります。


0


#セレクタはhtmlドキュメントのID#first1を持つ要素を選択します。これはIDが一意であると想定されているため、最初のdivになります。

あなたはクラスとを使用することができます。 両方のdivを選択するか、または2番目のdivに別の名前を付ける jQueryのセレクタに関する情報


0


あなたはドットを逃す:

$( "#field1")。change(function(){alert( 'hi');});

そして、同じ名前を2回使用することはできません。


0


私はIDの使用時にjQueryが考える、1つだけの要素を返します。

同じセレクタ名を使用する必要がある場合(Rytmisが正しく述べているように、同じ名前の複数のIDを使用するのは無効なHTMLです)、クラスセレクタに変更するのが最善です。

その後、jQueryで*:eq()*機能を使用できます。
あなたの最初のdivをターゲットにするためにあなたは使うことができます:

jQuery( '。フィールド:eq(0)')

次に2番目のdivターゲットをターゲットにします。

jQuery( '。分野:eq(1)')

それらが配列として戻ってくるので、0 =最初、1 = 2番目などを思い出してください。