Jquery 如何获取数据id并将其传递给函数?
HTMLJquery 如何获取数据id并将其传递给函数?,jquery,Jquery,HTML $('#modalBookmark')。on('显示',函数(){ getBookmarks(userId,$(this.data('id')); }); $('.btn添加列表')。单击(函数(e){ e、 预防默认值(); var bookmarkName=$('.des bookmark new input[name=“list”]')。val(); console.log(书签名); var bookmark={ownerId:userId,name:bookmarkName
$('#modalBookmark')。on('显示',函数(){
getBookmarks(userId,$(this.data('id'));
});
$('.btn添加列表')。单击(函数(e){
e、 预防默认值();
var bookmarkName=$('.des bookmark new input[name=“list”]')。val();
console.log(书签名);
var bookmark={ownerId:userId,name:bookmarkName};
添加书签(书签);
});
$('.des书签列表包装器')。在('click','.des书签链接',函数(e){
e、 预防默认值();
log('here-addbookmark group');
addBookmarkItem($(this),$(this.data('id'),$(this.parent().attr('data-bookmark-id'));
});
它将是动态id,将被传递给jquery bookmark函数以获取书签值,在选择书签组后显示计数,等等。
问题在于未定义$(this).data('id')
感谢您的帮助 当您打开
modal
框时,此函数目标modal
div不是锚opener
链接
<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') );
});
你应该这样试试
$('#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>
$('#modalBookmark').on('shown', function(){
getBookmarks( userId, $(".bookmarkit").data('id'));
});
希望它能起作用尝试使用
$(this).attr('data-id')你说它没有定义是什么意思?我看到标记中的属性了吗?是不是$(this).parent().attr('data-bookmark-id')
也没有定义?如果看不到这些单击函数所针对的整个html,就无法真正帮助您准确地遍历。$(“#modalBookmark”)这不会在代码中选择a标记,它将选择id=“modalBookmark”not href=“#modalBookmark”即a标记目标的元素,上面有数据id吗?您是否在锚定标记中添加了#modalBookmark
id?在jQuery$('#modalBookmark').on('showed',function(){..})中使用的
@d3c0y yes$(this).parent().attr('data-bookmark-id')返回它应该得到的值。@kittymoows,bootstreapmodal
将由于data toggle=“modal”
属性而工作正常,但此部分$('modalBookmark')。on('show',function(){getBookmarks(userId,$(this.data('id'));})
将在您将右选择器添加到anchor
tagah时执行,我明白了。好的,我试过你的例子,但它返回未定义。嗯。@kittymeows,我已经修改了答案,请尝试这种方式。是的,我已经修改了它,它确实返回了一些东西,但问题已经解决了。放置…api/bookmarks/1027?item=6827&ownerId=7500(内部服务器错误)您可以尝试此kitty,替换addBookmarkItem($(此),$(此).data('id'),$(此).parent().attr('data-bookmark-id')使用addBookmarkItem($(this),$(this.attr('data-id'),$(this.parent().attr('data-bookmark-id'))进行编码>代码>
$(".bookmarkit").on('click', function(){
getBookmarks( userId, $(this).data('id'));
})