2012-07-02 1 views
1

J'essaie de définir un cookie en utilisant la valeur d'une option de sélection. J'utilise le plugin jquery.cookie.js trouvé à: https://github.com/carhartl/jquery-cookieJe n'arrive pas à paramétrer les cookies en utilisant jQuery

<head> 
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'></script> 
<script type="text/javascript" src="jquery.cookie.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $("#set_state").change(function() { 
     var theState = $(this).val(); 
     $.cookie('set_state', theState, { expires: 5, path: '/' }); 
    }); 
}); 
</script> 
</head> 
<body> 
<select id="set_state" name="state"> 
    <option value="" selected="selected"></option> 
    <option value="">None</option> 
    <option value="AL">AL</option> 
    <option value="AK">AK</option> 
    <option value="AZ">AZ</option> 
    <option value="AR">AR</option> 
    <option value="CA">CA</option> 
    <option value="CO">CO</option> 
    <option value="CT">CT</option> 
    <!-- no need to post them all here --> 
</select> 
</body> 

Si j'utilise un message d'alerte pour montrer la theState variable, il fonctionne, mais je ne peux pas obtenir la fonction $.cookie de travailler ... ce est-ce que je fais mal?

+0

Quand vous dites que vous avez des difficultés à obtenir la fonction "au travail", ce que précisément ça va mal? Vous voulez dire que le cookie n'est pas réglé? Sûr? (Check in Firebug/Dragonfly) – Utkanos

+0

Oui, le cookie n'est pas défini, même si je spécifie une valeur manuellement (sans utiliser le var). – JROB

+0

Essayez de le configurer via JS natif. Si vous utilisez simplement le plugin $ .cookie pour configurer des cookies, il s'agit probablement d'un impact inutile et frivole sur le poids de votre site. – Utkanos

Répondre

0

Voici l'exemple complet pour la configuration de cookies à l'aide du plugin cookie jQuery.

HTML:

<head> 
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'></script> 
<script type='text/javascript' src='http://codebins.com/userUploads/3/jquery.cookie.js'></script> 
</head> 
<body> 
    <select id="set_state" name="state"> 
     <option value="" selected="selected"></option> 
     <option value="">None</option> 
     <option value="AL">AL</option> 
     <option value="AK">AK</option> 
     <option value="AZ">AZ</option> 
     <option value="AR">AR</option> 
     <option value="CA">CA</option> 
     <option value="CO">CO</option> 
     <option value="CT">CT</option> 
     <!-- no need to post them all here --> 
    </select> 
    <input type="button" id="btncookie" value="get cookie" /> 
    <input type="button" id="btndelcookie" value="delete cookie" /> 
</body> 

JQuery:

$(document).ready(function() { 
    $("#set_state").change(function() { 
     var theState = $(this).val(); 
     $.cookie('set_state', theState, { 
      expires: 5, 
      path: '/' 
     }); 
    }); 
    $("#btncookie").click(function() { 
     alert("Your Selected Value from Cookie is : " + $.cookie('set_state')); 
    }); 
    $("#btndelcookie").click(function() { 
     $.cookie('set_state', '', { 
     expires: -1 
     }); 
     $("#set_state").val(""); 
     alert('Cookie is deleted now, try to get cookie..!'); 
    }); 
}); 

Essayez exemple ci-dessus sur codebins: http://codebins.com/codes/home/4ldqpc6

Questions connexes