需要将var设置为链接

时间:2015-01-11 16:23:39

标签: javascript jquery

我有这个循环,我创建了一个链接,但是bootstrap模式阻止我从顶部循环中正确使用PHP变量(是循环中的循环)。所以我决定使用jQuery并在点击时从按钮中获取id,这很好,但是如何在不附加整个链接的情况下将其附加到链接中,因为还有另一个ID变量我&# 39; m在这个链接中再次使用?在$value->getId()中,我需要从jQuery中追加值。

foreach ($exploredArtistBands as $band) {
    echo '<a href="/notification/invite/' . $value->getId() . '/' . $band['band_id'] . '">Join to ' . $band['name'] . '</a><br />';
}
$('.invite').click(function(){
    $(this).attr('button-id')
});

1 个答案:

答案 0 :(得分:1)

您可以在点击事件中修改链接的网址。您只需将您的网址转换为易于解析的内容即可。像下面这样的东西;

foreach ($exploredArtistBands as $band) {
    echo '<a href="/notification/invite/{id}/' . $band['band_id'] . '">Join to ' . $band['name'] . '</a><br />';
}

所以你最终会得到一个类似的链接:

href="/notification/invite/{id}/band_id"

现在,在您的点击处理程序中,将{id}替换为按钮中的ID。

$('.invite').click(function(){
    var id = $(this).attr('button-id');
    var url = $(this).attr("href");
    $(this).attr("href", url.replace('{id}', id));
});

点击事件将继续冒泡,但会显示新的网址。这最终将您的浏览器引导到正确的位置。这种方法对我来说很有趣,但它确实有效。