2009-02-17 12 views
1

juste avoir un problème ici. Je fais l'interface utilisateur d'une application Web en utilisant jquery, css. il y a un shopping un panier, et je veux stocker les éléments sélectionnés dans la session, j'ai utilisé jquery.session plugin. par exemple. Ce que je veux est de stocker dynamiquement des éléments dans des variables nommées dynamiquement. comment pourrais-je faire cela?session jquery - dénomination de variable dynamique

merci.

Répondre

0

Étant donné que la fonction de session utilise des chaînes en tant que paramètres, créez simplement ces chaînes dynamiquement.

+0

ah..ok. donc, j'ai juste besoin de faire "var" + ctr ++ en dehors de $ .session()? ok. je vois. mais comment puis-je récupérer? Comment puis-je connaître le nombre de variables de session que j'ai utilisées? ... thnx –

+0

Selon le site jQuery-session, il semble qu'il n'y ait aucun moyen de savoir combien, ou quelles paires clé/valeur sont stockées. Si vous nommez les clés (premier paramètre) en utilisant des nombres incrémentés, vous pouvez stocker la valeur max dans une autre paire clé/valeur. – svinto

2

Une façon de le faire est de créer une fonction qui stocke les variables 'session'. La session aurait deux paramètres, le nom de la variable et sa valeur. Par exemple:

function setSession(name, value) { 

    $.session(name, value); 

} 

Chaque fois que vous devez définir la variable de session jQuery, il suffit d'appeler la fonction comme dans:

setSession('var1', item1); 
1

Il suffit d'utiliser des chaînes pour le construire jusqu'à ce que vous voulez, comme ceci:

 
function storeValueInCart(cartId, value) { 
    $.session("var"+cartId, value); 
} 

Vous pouvez également stocker des données arbitraires sur les éléments et les utiliser, comme ceci:

 
    $(".vote_action").each(function() { 
     vote_id = $(this).attr("id").substring("action_".length); 
     $(this).data("vote_id", vote_id); 
    }); 
La commande ci-dessus parcourt chaque élément avec l'ensemble de classes de vote_action. Sur chaque élément, il trouve l'attribut id, qui est une chaîne comme action_NN, puis supprime la partie action. Ensuite, il stocke ce vote_id en tant que données arbitraires sur l'élément sous le nom "vot_id".

3

S'il existe un panier, ces données doivent être gérées par un langage de script côté serveur tel que PHP. Je suppose à la fin qu'ils seront facturés par carte de crédit? Ce type de données doit être sécurisé. En outre, c'est une très grande partie des fonctionnalités à gérer par un langage client non sécurisé comme JS qui peut être désactivé.

Juste quelque chose à penser à l'avenir ..

Questions connexes