2017-01-09 8 views
-2

1つのクリックボタンで同じ属性名から別のデータ値を引き出せるようにしたい。これはJqueryで可能ですか?だから私がbuttomをクリックすると "01"と表示されます。もう一度クリックすると "02"と表示されます。ここに私のコードは次のとおりです。1つのクリックボタンで同じ属性名で異なるデータ値をプルすることはできますか?

<script> 
$(document).ready(function(){ 
    $(".more-info").click(function(){ 
    var getData = document.getElementsByClassName("showTitle"); 
    document.getElementById("gridModalLabel").innerHTML = 
    $(".showtitle").data('prodname'); 
}); 


    }); 

</script> 

<div class="analytic-product showtitle" data-prodname="01" id="w3s"></div> 
<div class="analytic-product showtitle" data-prodname="02" id="w3s"></div> 
<div class="analytic-product showtitle" data-prodname="03" id="w3s"></div> 

<h4 class="modal-title" data-target="#gridSystemModal" id="gridModalLabel"></h4> 
<button class='btn btn-default btn-lg more-info' data-target='#gridSystemModal' data-toggle='modal' type='button'>Schedule Meeting</button> 
+2

なぜあなたはjQueryとバニラJavaScriptを混合していますか? – Isaac

+0

あなたはすでに最後のものになったら何が起こるはずですか? – charlietfl

+0

これは可能ですが、グローバルにクリックされたものを追跡してから、どの値を返すかを確認する必要があります。 – nurdyguy

答えて

-1

私はjqueryのを使用してソリューションを作成しました。クリックごとに、divのデータ属性が作成したターゲットdivに追加されます。私は未定義に対処するコードを更新しました。

$(function() { 
 

 
    var $dataDivs = $('div.analytic-product'); 
 
    var $target = $('#target'); 
 
    var indexTracker = 0; 
 

 

 
    $('.btn.more-info').on('click', function(e) {  
 
    if (indexTracker < $dataDivs.length) 
 
     $target.append($($dataDivs[indexTracker++]).data('prodname') + "<br>"); 
 
    }); 
 

 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="analytic-product showtitle" data-prodname="01" id="w3s"></div> 
 
<div class="analytic-product showtitle" data-prodname="02" id="w3s"></div> 
 
<div class="analytic-product showtitle" data-prodname="03" id="w3s"></div> 
 
<div id="target"></div> 
 
<h4 class="modal-title" data-target="#gridSystemModal" id="gridModalLabel"></h4> 
 
<button class='btn btn-default btn-lg more-info' data-target='#gridSystemModal' data-toggle='modal' type='button'>Schedule Meeting</button>

+0

新しいjQueryオブジェクトを作るのではなく 'eq()'を使う...クリックし続けると "undefined"と表示されることに注意してください。 – charlietfl

+0

downvoteの理由はどうですか?答えが意図した問題を解決しないのですか?とにかく、私は答えが下落した理由を理解したいと思います。 – jerry

+0

あなたの助けに感謝ジェリー –

関連する問題