jQuery получает начальное значение href один раз, прежде чем оно изменится - PullRequest
0 голосов
/ 29 марта 2011

В моем приложении у меня есть вызов ajax, и в случае успеха он добавляет некоторые данные к существующим ссылкам href.

Это прекрасно работает.Проблема заключается в том, что если я хочу снова и снова выполнить вызов ajax, добавить некоторые другие данные, он принимает значение href + новое значение из предыдущего вызова ajax, а затем добавляет новые данные после этого.

Я хочу, чтобы он добавил данные к начальному значению href перед его добавлением.

Ниже приведен мой код: (у меня каждый раз добавляется образец выборочного значения для целей тестирования)

        //get next page link value, so we can add filter to url
    var next_link = $("a.next").attr("href");

$.ajax({
        type: "POST",
        url: "ajax_calls.php",
        data: "instrument="+selected.val()+"&filter=true",
        success: function(listing){$("#listings").html(listing);

$("a.next").attr("href", next_link + '&field=x');

},
        error: function(){alert(3);$("#error").text("Could not retrieve posts").fadeIn(300).delay(900).fadeOut(300)}
    });

Любая помощь по этому вопросу будет принята с благодарностью.Спасибо

1 Ответ

1 голос
/ 29 марта 2011

Как насчет использования метода jQuery .data?

$('#change').click(function(){
    var newData = Math.random() * 1000; // fake new data
    $('a').each(function(i,e){
        var oldHref = $(this).data('oldHref');
        if (!oldHref){
            var oldHref = $(this).attr('href');
            $(this).data('oldHref',oldHref);
        }
        $(this).attr('href',oldHref + '#' + newData);
    });
});

<a href="http://google.com">Hello, world!</a><br />
<input type="button" id="change" value="Change HREF" />

пример

Сохранить старое значениев элементе данных, а затем ссылаться перед каждым новым изменением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...