изменить url_for, href для Symfony с помощью JQUERY - PullRequest
1 голос
/ 06 сентября 2011

у меня есть:

<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 с помощью url_for. я хотел бы изменить $ 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 />

если я нажму «НАЖМИТЕ ОДИН», то мне нужна ссылка:

<span id="test"><a href="<?php echo url_for('mymodule/myaction?id=1') ?>">link1</a></span>

OR

<span id="test"><a href="<?php echo url_for('mymodule/myaction?id=') ?>"1>link2</a></span>

LIVE: http://jsfiddle.net/wtAbp/

Ответы [ 2 ]

1 голос
/ 06 сентября 2011

Ваш код <?php echo url_for('mymodule/myaction?id=1') ?> интерпретируется на стороне сервера.Таким образом, вы не можете изменить его на стороне клиента.

Просто поместите "<?php echo url_for('mymodule/myaction?id=') ?>" в href без идентификатора и добавьте динамически идентификатор:

Что-то вроде:

$(".click").live('click', function() {    
    $("a").attr('href',$("a").attr('href')+$(this).attr('id'));
});
1 голос
/ 06 сентября 2011

Вы можете поместить каждый URL в атрибут 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 цели на элемент clickedотн. значение.

$('.click').unbind('click').click(function() {
  $('a#your_id').attr('href', $(this).attr('rel'));
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...