2012-04-27 4 views
0

J'ai une page Web où un utilisateur peut sélectionner plusieurs éléments d'une liste jquery.Créer un tableau à partir d'une chaîne

Basé sur le (s) point (s) sélectionné (s) Je dois ajouter chaque élément dans la base de données.

Quand quelqu'un sélectionne un élément de la valeur retournée à mon Javascript est similaire à « 4 ~ 2 »

La valeur 4 serait utilisé dans mon exemple pour une colonne nommée « skill_id » dans la base de données et la valeur 2 serait utilisé pour une autre colonne appelée "category_id" dans la même rangée.

Quand quelqu'un sélectionne deux éléments, il est délimité par des virgules et similaires à « 4 ~ 2,6 ~ 7 » et ainsi de suite s'ils choisissent plus de 2.

Je pense que je dois faire pour boucle avec un tableau ou une fonction jquery.each() mais pas certain comment la meilleure façon d'aborder cela est.

+3

Ajout d'un code gagnera le succès des réponses;) – VisioN

Répondre

16

Ce que vous cherchez est la méthode split().

"4~2,6~7".split(',') // ['4~2', '6~7'] 
+0

après prime de départ ce qui a obtenu 13 de 7 upvotes –

+1

@ Quelqu'un est intrus ouais, ça m'a donné un badge "belle réponse" o). Pourquoi avez-vous commencé la prime au fait? –

2

Voici une façon que vous pouvez extraire le skill_id et category_id:

$.each("4~2,6~7".split(','), function(index, value) { 
     var nums = value.split("~"); 
     var skill_id = nums[0]; 
     var category_id = nums[1]; 
    }); 
Questions connexes