0

我有以下标记:

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

并希望通过类似这样的方式访问数据项 ID(但这不起作用):

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

有没有办法将这个引用到外部,以便我可以获得数据项 ID?

提前谢谢

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 回答