我有这段代码,
<a href="#" id="addtoteam">
Add to Team
</a>
,如果我点击此链接,将出现一个模态对话框,
$('#addtoteam').click(function(){
var url = '<?php echo BASEURL;?>';
$( "#dialogbox" ).dialog({
autoOpen: true,
buttons: {
"Use Registration Credits": function(){
// execute something here before redirecting it to another page, perhaps perform the updating of the registration_credits of each team here
window.location = url + '/administration/add_to_team/' + teamID +'/'+ playerID +'/?credit=1';
},
"Pay Extra Charge": function() { $(this).dialog("close"); },
"Cancel": function() { $(this).dialog("close"); }
},
width: 800
});
});
正如你所看到我有三个按钮,看看“使用注册积分”按钮,如果它被选中,它将重定向到另一个页面,但我想要的是如果它重定向到其他页面,我想要让网址看起来像这样,
sample.com/administration/add_to_team/team_id/player_id?credit=1
现在我的问题是,是否可以传递任何可以分配给我click()
函数内的变量的值,以便该值可以是我的team_id或玩家ID?我希望我能解释清楚。感谢。
答案 0 :(得分:2)
您可以将元素中的参数(如team_id或玩家ID)存储为属性:
<a href="#" id="addtoteam" data-team-id="4" data-player-id="5" >
Add to Team
</a>
然后你得到这些:
team_id = $(this).attr('data-team-id');
希望它可以帮到你
答案 1 :(得分:0)
您可以使用选择器从页面上的任意位置获取数据,如果您特别想从“点击”链接中获取数据,则可以在点击事件的上下文中使用this
。
$('#addToTeam').on('click', function()
{
var clicked = $(this);
// Get the clicked links HREF value
var href = clicked.attr('href');
// Get the clicked links NAME value
var name = clicked.attr('name');
// And so on
var data = clicked.attr('data-value')
});
要完全回答您的问题,您需要在<a>
标记中添加更多数据。对于简单的东西,比如ID等,我只是把它们放在HREF值中,然后使用上面的技术将它拉到点击的链接上。然后,您可以将该值附加到查询字符串。
$('#addtoteam').click(function()
{
id = $(this).attr('href');
window.location = url + '/administration/add_to_team/' + id
});
作为一个例子
答案 2 :(得分:0)
如果您尝试更改以下网址:
sample.com/administration/add_to_team/team_id/player_id
到:
sample.com/administration/add_to_team/team_id/player_id?credit=1
所有你缺少的是查询字符串,你只需添加它:
document.location.search = '?credit=1';