Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   как добавить две разные get запросы на одном ссылке (https://javascript.ru/forum/jquery/61351-kak-dobavit-dve-raznye-get-zaprosy-na-odnom-ssylke.html)

u4enik12 14.02.2016 22:29

как добавить две разные get запросы на одном ссылке
 
Привет всем как добавить два get запроса на одном ссылке то есть при первой нажатии на ссылку передавалось один запрос а втором нажатии второй буду очень признателен не где не могу найти
код примерно сделал так:
$(document).ready(function() {
var flag = new Boolean(true);
$('.price11').click(function(){
if (flag) {
flag = false;
func1.call(this);
}
else {
flag = true;
func2.call(this);
};
return false;
});

function func1(){
$('.price11').attr('href', "?id=2");

};
function func2(){
$('.price11').attr('href','?id=1');
};

});
если убрать return false;
только func1 работает а func2 почему то не работает пожалуйста помогите.
если оставить return false;
тогда она не передается get запрос;

destus 15.02.2016 07:07

Логика скрипта неправильная.
return false
отменяет действие по умолчанию (переход по ссылке). А если убрать
return false
, то отслеживать повторное нажатие на ссылку вы не сможете, т.к. при каждом обновлении страницы
var flag
будет true.

u4enik12 15.02.2016 08:14

А как можно реализовать такой скрипт правильно не подскажите?

destus 15.02.2016 09:20

Необходимо более детальное описание того, чего хочется. Если формировать ссылку с одним параметром в зависимости от некоторых выбранных вариантов на странице- это одно, если с двумя- это другое.

u4enik12 15.02.2016 10:45

я хотел сделать при каждом клике параметры ?id=1 переключался на ?id=2, ?id=2 переключался на ?id=1
пример:http://testsite/test.php?id=1, http://testsite/test.php?id=2

destus 15.02.2016 11:02

Может тогда лучше сделать кнопку, которая будет формировать ссылку исходя из количества нажатий по кнопке?

<script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script>
        $(function () {
            var flag = new Boolean(true);
            $('#buttfortestlink').on('click', function () {
                var param = $('#testlink').attr('href').indexOf('?');
                var href = $('#testlink').attr('href');
                (param != -1) && (href = href.substring(0, param));
                (flag) ? $('#testlink').attr('href', href + "?id=1") : $('#testlink').attr('href', href + "?id=2")
                flag = !(flag);
            });  
        })
    </script>


    <a id="testlink" href="testsite.ru">Link</a>
    <button id="buttfortestlink">Click</button>

laimas 15.02.2016 11:40

Цитата:

Сообщение от u4enik12
я хотел сделать при каждом клике параметры ?id=1 переключался на ?id=2, ?id=2 переключался на ?id=1

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

u4enik12 15.02.2016 21:58

Спасибо все кто мне помогал отдельное благодарю Ruslan_xDD который мне написал этот скрипт оказывается она пишется так:
$(function() {
    var flag = localStorage.getItem('URLFlag');
    $('.price11').click(function(event) {
        document.location.href = this.pathname + '?id=' + (flag ? 1 : 2);
        flag = !flag;
        localStorage.setItem('URLFlag', flag ? 1 : '');
        event.preventDefault();
    });
});


Часовой пояс GMT +3, время: 10:33.