我做了一些搜索,但还没有找到解决方案。我希望通过使用rel链接来加载带有jquery加载的页面但是对于更新,我希望jquery在我点击的链接中找到数据并更新该数据的id。
问题: 我希望脚本找到数据-ajax =" id_to_update"而不是更新id_du_milieu。并更新具有data-ajax值的div,当您单击链接1时更新为id_to_update,单击链接2时更新update_id_2。
我不想在javascript中添加update_id_2或id_to_update但是我想要一个jquery函数,它将data-ajax的值作为id来更新
这是我的初始代码
<a href="churches.php" rel="charger_tout" data-ajax="id_to_update">Link 1</a>
<div id=id_to_update></div> <a href="churches.php" rel="charger_tout" data-ajax="update_id_2">Link 2</a>
<div id=update_id_2></div>
使用
$('a[rel*=charger_tout]').on('click', function () {
$('#id_du_milieu').html('<img src="images/facebook_style_loader.gif" />');
$('#id_du_milieu').load($(this).attr('href'), function (responseText, textStatus, XMLHttpRequest) {
if (textStatus == 'error') {
$('#id_du_milieu').html('<p>There was an error making the AJAX request</p>');
}
});
return false;
});
答案 0 :(得分:2)
在选择器中使用变量没有任何问题,所以你可以这样做:
var myId = $(this).data('ajax');
$('#'+myId).html(/* insert some stuff here */);
另一方面,如果你想要一个具有数据属性的元素(你没有说清楚或我不太清楚),你可以这样做:
var myId = $(this).data('ajax');
$('a[data-ajax="+myId+"]').html(/* insert some stuff here */);
您也可以使用$(this).data('ajax')
而不是使用jQuerys $(this).attr('data-ajax')
功能,而且相同。数据属性得到广泛支持,因此除非您关心HTML验证,否则即使在IE4中也可以使用它们。