0

我有这段代码,

<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?我希望我解释清楚。谢谢。

4

3 回答 3

2

你可以在你的元素中存储像 team_id 或 player id 这样的参数作为属性:

<a href="#" id="addtoteam" data-team-id="4" data-player-id="5" >
    Add to Team
</a>

然后你得到这些:

team_id = $(this).attr('data-team-id');

希望它可以帮助你

于 2012-08-16T16:06:38.813 回答
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

});

举个例子

于 2012-08-16T16:08:45.160 回答
0

如果您尝试从以下位置更改 URL:

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';
于 2012-08-16T16:09:52.250 回答