如何获取data-id并将其传递给函数?

时间:2014-03-03 03:10:06

标签: jquery

HTML

<a class="bookmarkit" href="#modalBookmark" data-toggle="modal" role="button" data-id="${image?.id}">Bookmark</a>

$('#modalBookmark').on('shown', function(){

  getBookmarks( userId, $(this).data('id'));


});

$('.btn-add-list').click(function(e){
  e.preventDefault();
  var bookmarkName = $('.des-bookmark-new input[name="list"]').val();
  console.log(bookmarkName);
  var bookmark = { ownerId: userId, name: bookmarkName };
  addBookmark( bookmark );

});

$('.des-bookmark-list-wrapper').on('click', '.des-bookmark-link', function(e) {
  e.preventDefault();
  console.log('here - add bookmark group');
  addBookmarkItem( $(this), $(this).data('id'), $(this).parent().attr('data-bookmark-id') );
});

将动态id传递给jquery书签函数以获取书签值,选择书签组后显示计数等。 问题是没有定义$(this).data('id')。

任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:0)

当您打开modal框时,此功能定位modal div而不是锚opener链接

$('#modalBookmark').on('shown', function(){
   getBookmarks( userId, $(this).data('id'));
})

你应该这样试试

<a class="bookmarkit" href="#modalBookmark" data-toggle="modal" role="button" data-id="${image?.id}">Bookmark</a>

使用当前锚点选择器和shown事件

$('#modalBookmark').on('shown', function(){

  getBookmarks( userId, $(".bookmarkit").data('id'));

});

OR与click事件

$(".bookmarkit").on('click', function(){
   getBookmarks( userId, $(this).data('id'));
})

希望它能起作用

答案 1 :(得分:0)

尝试使用     $(本).attr( '数据-ID')