2017-10-06 6 views
1

同じ文章に複数のタグがある場合、最初に選択されたタグのみが送信されます。Javascriptは同じ文章でPOSTタグを送信しません

この理由は何ですか?

Work on JSFiddle

$(function(){ 
 
    $('#lbl1').one('mouseover', function(){ 
 
     var $this = $(this), 
 
      data1 = $this.text(); 
 
     console.log(data1); 
 
     
 
     $.post('/echo/html/', { 
 
      html: 'some server response', 
 
      data1: data1 
 
     }, function(data){ 
 
      $this.attr('title', data).tooltip().mouseover(); 
 
     }); 
 
    }); 
 
})
<script src="http://cdn.jquerytools.org/1.2.7/tiny/jquery.tools.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
 

 

 
<label id="lbl1">Emre</label> and <label id="lbl1">Saracoglu</label>

+1

これは、「ID」は一意であり、複数回使用されないためです。あなたは、要素のグループ/コレクションのためにクラスを使うべきです。 'class =" lbl1 "'に 'id =" lbl1 "を置き換えて、' jQuery'セレクタを '$( 'lbl1')に変更してください( 'mouseover'、function(){' – NewToJS

+0

jQueryで特定のIDを持つすべての要素を選択するには?](https://stackoverflow.com/questions/902839/how-to-select-all-elements-with-a-particular-id-in-jquery) – Ivar

+0

@NewToJS私はあなたが言及した変更を行いましたが、今度は同じ単語が複数あるPOST –

答えて

0

としては、あなたの質問に以下のコメントで説明:

ID年代一意で、複数回使用してはなりません。グループ/要素のコレクションにはclassを使用する必要があります。

ソリューション:class="lbl1"ためid="lbl1"を交換し、あなたのjQueryセレクタに$('.lbl1').one('mouseover', function(){

$(function() { 
 
    $('.lbl1').one('mouseover', function() { 
 
    var $this = $(this), 
 
     data1 = $this.text(); 
 
    console.log(data1); 
 
    }); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<label class="lbl1">Emre</label> and <label class="lbl1">Saracoglu</label>

を変更するには、ソースコードについてのご質問がある場合は上記の以下のコメントを残して、私は意志くださいできるだけ早くあなたに連絡してください。

JsFiddle Demo

私はこのことができます願っています。ハッピーコーディング!

関連する問題