我有:
<span id="test"><a href="<?php echo url_for('mymodule/myaction?id='. $id) ?>">link1</a></span> <br />
或
<span id="test"><a href="<?php echo url_for('mymodule/myaction?id=') ?>" $id>link2</a></span>
我必须用url_for生成url。我想修改$id与javascript (jquery),如果我点击:
<span class="click" id=1>click one</span> <br />
<span class="click" id=2>click two</span> <br />
<span class="click" id=3>click three</span> <br />
如果我点击" click ONE",我想链接:
<span id="test"><a href="<?php echo url_for('mymodule/myaction?id=1') ?>">link1</a></span>
或
<span id="test"><a href="<?php echo url_for('mymodule/myaction?id=') ?>"1>link2</a></span>
生活: http://jsfiddle.net/wtAbp/
您可以将每个URL放在每个span的ref属性中,如下所示:
<span class="click" id=1 rel="<?php echo url_for('mymodule/myaction?id=1') ?>">click one</span>
<span class="click" id=2 rel="<?php echo url_for('mymodule/myaction?id=2') ?>">click two</span>
<span class="click" id=3 rel="<?php echo url_for('mymodule/myaction?id=3') ?>">click three</span>
然后在点击事件中(或你选择的任何方式),将目标的href替换为被点击元素的rel值。
$('.click').unbind('click').click(function() {
$('a#your_id').attr('href', $(this).attr('rel'));
});
您的代码<?php echo url_for('mymodule/myaction?id=1') ?>
在服务器端被解释。所以你不能在客户端修改它。
将"<?php echo url_for('mymodule/myaction?id=') ?>"
放在href中,不带id,并动态添加id:
例如:
$(".click").live('click', function() {
$("a").attr('href',$("a").attr('href')+$(this).attr('id'));
});