2016-09-12 1 views
2

Ich habe eine if Bedingung für die Überprüfung eine Checkbox geschrieben:Halten Checkbox auch nach Aktualisierung der Seite überprüft?

$('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'); ?>"; 
    } 
}); 

Jetzt habe ich sicherstellen möchten, dass auch nach Seite das Kontrollkästchen aktualisieren seinen Zustand nicht ändern, es sei denn, ich/Benutzer dies tun. Wie kann ich das machen?

+0

eines GET Parameter mit der URL übergeben und den Rest auf den übergebenen Wert basiert tun –

+0

Sie benötigen den Zustand der Checkbox irgendwo zu speichern. Sie könnten einen URL-Parameter, local, session, Cookies oder einen serverseitigen Datenbank verwenden. Du hast die Wahl. –

+0

u kann mir zeigen, wie es mit localstorage in meinem Code zu tun. – lakshay

Antwort

0

Sie können nur wollen Sie das Kontrollkästchen mit der checked Eigenschaft erzeugen, bereits festgelegt. Code Stil folgend, würde es so etwas wie

<?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"' : ''; 
?> 

Und dann ...

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

wenn ich PHP richtig :-)

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

Auch Ihr JS enthält zwei identische Umleitungen im Moment diese Antwort zu schreiben.

0

Nutzen Sie local

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"/> 
Verwandte Themen