0

私は次のマークアップを持っています:

<div class='header-vals' data-item-id='23'>
  <input type='text' name='some-input' />
  <input type='text' name='some-other-input' />
</div>

そして、次のようなものでdata-item-idにアクセスしたい(ただし、これは機能しません):

$('.header-vals').on('keyup','input',function(){
  var item_id=$(this).data('item-id');
});

data-item-idを取得できるように、これを外部に参照する方法はありますか?

事前にt​​hx

4

4 に答える 4

2

このようにしてください:-

$('.header-vals').on('keyup','input',function(){
  alert($(this).parent().attr('data-item-id'));
});​

ライブデモを参照

于 2012-10-13T00:38:59.237 に答える
1
var item_id = $(this).parent().attr('data-item-id');
于 2012-10-13T00:37:40.693 に答える
1

フェリックスは正しいです(そしてバディに感謝します)。

$(this)は入力を参照しています...以下のコードを確認してください。親を追加するだけです。

あなたのコードは機能します、attrでデータを切り替えるだけです

$('.header-vals').on('keyup','input',function(){
  var item_id=$(this).parent.attr('data-item-id');
});

.data()関数は、属性を選択するのではなく、データを要素にバインドするために使用されます http://api.jquery.com/jQuery.data/

于 2012-10-13T00:37:41.563 に答える
1

これを試して:

$('.header-vals').on('keyup','input',function(){ 
  var item_id=$(this).parent().attr('data-item-id'); 
}); 

また

$('.header-vals').on('keyup','input',function(){ 
  var item_id=$(this).parent().data('item-id'); 
}); 

これは、データ関数を使用したデモです。

于 2012-10-13T00:39:04.547 に答える