0

次のテンプレートを使用して、データベースのデータを表示しています。それが繰り返され、同じクラスが数回使用されます。onclickのイベントで、そのテンプレートにある非表示フィールドの値を渡したいbtnDelete

<div class="Template">
    <div class="Title"></div>
    <div class="Price"></div>
    <div class="_Qty">Total Tickets:<div class="TotalQty"></div></div>
    <div class="_Qty1">Sold Tickets:<div class="UsedQty"></div></div>
    <div class="_Date">On Sale:<div class="StartDate"></div></div>
    <div class="_Date1">Sale Ends:<div class="EndDate"></div></div>
    <input type="hidden" value="8c991c10-7d88-4212-b931-5bfeff4ebcd0" />
    <input type="button" class="btnDelete" value="Remove Ticket" onclick="fnRemoveTicket(**THIS IS WHERE I NEED TO PASS HID VALUE**);"/>
    <input type="button" class="btnEdit" value="Edit Ticket"/>
</div>

ボタンと同じ親にある非表示フィールドの値を渡す方法がわかりません。通常、私はある種のユニークなセレクターでボタンを選択します。$(this).closest 次に、またはのようなことをし$(this).parentます。ボタンには何もユニークなものがないので、イベントに合わせて渡す必要がありますが、onclickこれを機能させる方法がわかりません。

4

3 に答える 3

2

prevまたはsiblingsメソッドを使用できます。

$('.btnDelete').click(function(){
     var val = $(this).prev().val();
     // var val = $(this).siblings("input[type='hidden']").val()
})
于 2012-09-11T14:45:05.413 に答える
0

メソッドを使用siblings()して、同じ親にある近くの要素を見つけることができます。すなわち:

 $('input.btnDelete').click(function(){
   var $hiddenVal = $(this).siblings('input[type="hidden"]').val();
   fnRemoveTicket($hiddenVal);
});

これが実行可能なデモです:jsFiddle

于 2012-09-11T15:00:45.543 に答える
0

次のようなものを使用します

$('input.btnDelete').on('click', function(){
    var hidden = $(this).parent().find('input[type="hidden"]');
    /* actions */
}
于 2012-09-11T14:46:08.300 に答える