2016-09-12 4 views
2

Я написал if условие для проверки флажка:Установите флажок даже после обновления страницы?

$('input[type="checkbox"]').click(function() { 
    if (this.id == "internships" && this.checked) { 
     window.location.href = "<?php echo Yii::app()->createAbsoluteUrl('job/internships'); ?>"; 
    } 
    else { 
     window.location.href = "<?php echo Yii::app()->createAbsoluteUrl('job/internships'); ?>"; 
    } 
}); 

Теперь я хочу, чтобы убедиться, что даже после обновления страницы флажок не изменяет свое состояние, если я/пользователь не делать. Как я могу это сделать?

+0

передать параметр GET с URL и делать все остальное, основываясь на переданной стоимости –

+0

Вам необходимо для хранения состояния флажка. Вы можете использовать параметр URL, localStorage, sessionStorage, файлы cookie или серверную базу данных. Твой выбор. –

+0

может показать мне, как это сделать с localstorage в моем коде. – lakshay

ответ

0

Возможно, вы захотите создать флажок с уже установленной базой checked. После вашего стиля кода, было бы что-то вроде

<?php 
// prepare a string to be inserted. 
// it will be either empty, or a nonempty "checked" attribute 
$shouldBeChecked = is_this_the_internship_page() ? 'checked="checked"' : ''; 
?> 

А потом ...

<input type="checkbox" <?php echo $shouldBeChecked; ?> > 

, если я помню правильно PHP :-)

См: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox

Также , ваш JS содержит два идентичных перенаправления на момент написания этого ответа.

0

Воспользоваться LocalStorage

JS

$('#check').on('click', function(){ 

    if(localStorage.getItem("checkedbox") == 'true') { 
    $(this).prop(checked, 'false'); 
    localStorage.setItem("checkedbox", 'false'); 

    } 
    else { 
    $(this).prop(checked, 'true'); 
    localStorage.setItem("checkedbox", 'true'); 
    } 

}) 

HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<input type = "checkbox" id="check"/> 
Смежные вопросы