有这个清单:
<ul class="ui-selectable" id="box">
<li data-id=100.100></li>
<li data-id=101.100></li>
<li data-id=102.100></li>
<li data-id=103.100></li>
<li data-id=104.100></li>
<li data-id=105.100></li>
<li data-id=106.100></li>
<li data-id=107.100></li>
<li data-id=108.100></li>
<li data-id=109.100></li>
<li data-id=110.100></li>
</ul>
和此jquery获取被点击的侦听的数据ID:
$(document).ready(function(){
$('.ui-selectable :not([data-id=""])').click(function() {
$(this).toggleClass('selected');
$(this).parent().trigger('update');
});
$('.ui-selectable').on('update', function() {
data = [];
$(':not([data-id=""]).selected', this).each(function() {
data.push( $(this).data('id') );
});
alert( $(this).data('id') );
});
});
但是当我点击一个听众时,我收到了这条警告信息:
"undefined"
任何人都可以告诉我为什么以及如何正确? 问候
答案 0 :(得分:0)
你试过这个吗?
$(this).attr('data-id')
答案 1 :(得分:0)
试试这个:
$(document).ready(function(){
$('#box li').on('click',function(){
alert($(this).attr('data-id'));
});
});
或尝试在您的代码中:
$('.ui-selectable li :not([data-id=""])').click(function() {
$(this).toggleClass('selected');
$(this).parent().trigger('update');
});
答案 2 :(得分:0)
this
与
$('.ui-selectable').on('update', function() {
没有id
数据字段。
我不知道你想做什么,但是你需要在你正在寻址其中一个this
元素的上下文中使用<li>
,例如
$('.ui-selectable :not([data-id=""])').click(function() {
<--------- put it here and it will work
$(this).toggleClass('selected');
$(this).parent().trigger('update');
});