2015-06-29 2 views
2

Я пытаюсь добавить URL-адрес с помощью jQuery.Добавление URL-адреса с помощью jQuery на основе проверки флажка

У меня есть сетка «предупреждений» на моей странице, заполненная сервлетом. В верхней части экрана установлен флажок, который при проверке будет показывать очищенные предупреждения вместе с активными. В основном, этот флажок показывает и скрывает строки сетки. Там есть кнопка для очистки предупреждения и кнопка для нечетких предупреждений. Нечеткая кнопка показывает, когда установлен флажок.

После первого щелчка на флажке URL-адрес будет добавлен правильно. Тем не менее, при снятии флажка флажок нечеткая, и URL-адрес не добавлен должным образом.

Вот мой JQuery:

$(document).ready(function() 
    { 
     var showClearedWarningsFlag = getURLParameter("showHideClearedWarnings"); 

    if(showClearedWarningsFlag = "SHOW") 
    { 
    $('#showClearedWarningsCheckBox').prop('checked', true); 
    $('#unclearButton').show(); 
    } 
    else 
    { 
    $('#showClearedWarningsCheckBox').prop('checked', false); 
    $('#unclearButton').hide(); 
    } 

}); 


$('#showClearedWarningsCheckBox').change(function() 
{ 
    if($(this).is(':checked')) 
    { 
     window.location.search = "?showHideClearedWarnings=" + "SHOW";  
    } 
    else 
    { 
     window.location.search = "?showHideClearedWarnings=" + "HIDE"; 
    } 

}); 

$('#clearButton').click(function(){ 
     $('#bagWarningAction').val('CLEAR') ; 
    }); 

    $('#unclearButton').click(function(){ 
     $('#bagWarningAction').val('UNCLEAR') ; 
    }); 

Итак, что я пытаюсь сделать здесь:

if URL is show 
    then show unclear button and check box 
else if URL is hide 
    don't show unclear button and don't check box 
on change of checkbox 
    if checked 
     append URL to show 
    else if not checked 
     append URL to hide 

Тогда, у меня есть две кнопки для ясно и неясно, проходя через SHOW или HIDE к скрытый ввод на моей странице.

Однако, что происходит, когда я нажимаю флажок для демонстрации очищенных предупреждений, это успешно добавляет URL-адрес, но при этом флажок не установлен на странице обновления. Итак, после проверки флажка он просто перенаправляет URL SHOW. Если я вручную изменю URL-адрес на HIDE, он скрывает очищенные предупреждения.

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

ответ

0

Я исправил эту проблему. Действительно, действительно глупая ошибка. В моей проверке я всегда меняю URL, чтобы показывать, поскольку я использую один знак равенства вместо двух.

Огонь!

0

Редактировать: Я перечитал ваш вопрос более внимательно на этот раз. Вы можете проверить консоль, может быть ошибка (неверный идентификатор, а что нет). В противном случае я не вижу проблем с вашим кодом. Приведенный ниже текст все же применяется, вы можете использовать cookie, он немного более прочный, чем параметр URL (не говоря уже о более хорошем для конечного пользователя).

Значение флажка не может пережить обновление по определению. Это вход, и их значения не сохраняются, если вы не сделаете это вручную (например, через cookie).

Итак, вы можете попытаться создать файл cookie через jQuery, который сохранит последнее известное значение этого флажка.

я рекомендую прочитать на этот SO ответ, чтобы увидеть, как это сделать How do I set/unset cookie with jQuery?

+0

Привет Адриан, спасибо, что нашли время ответить. Веб-приложение, в котором этот код используется, не содержит URL-адрес конечного пользователя. Я знаю, что этот метод, вероятно, не самый лучший способ сделать это, но мне нужно что-то получить до того, как спринт закончится! Я просто хочу заставить его работать на данный момент, а затем, возможно, посмотрю на более элегантное решение в следующий раз. Я попытаюсь использовать файлы cookie, но я бы предпочел сделать это с помощью jQuery, хотя бы выяснить, почему мой код не работает! –

+0

Я бы рекомендовал проверить этот ответ SOST http://stackoverflow.com/questions/1090948/change-url-parameters/10997390#10997390 Он имеет приятную и удобную функцию для изменения параметров URL (что вы пытаетесь сделать с окном.поиск, который я не абсолютно позитивен, можно использовать для обновления существующих значений, поэтому я попросил вас проверить консоль вашего браузера, чтобы увидеть, есть ли в нем какие-либо ошибки). –

+0

А мои извинения - нет, ошибок нет! Посмотрите эту ссылку. Огромное спасибо. –

Смежные вопросы