2010-12-15 131 views
0

J'ai deux listes de sélection qui affichent chacune des utilisateurs et deux boutons (ajouter et supprimer) qui déplacent les utilisateurs de la liste de sélection de gauche à droite et vice versa. L'ajout et la suppression des utilisateurs dans les listes de sélection sont effectués à l'aide de jQuery 1.4.4. Le problème est qu'après avoir déplacé au moins un utilisateur et cliqué sur Soumettre, le tableau $ _POST ne contient aucune liste de sélection. Si je recharge la page et clique sur Envoyer sans déplacer aucun utilisateur, les listes de sélection apparaissent dans le tableau $ _POST.

Le code que je utilise pour le bouton Ajouter est:

$("#btnAdd").click(function() { 
// check if there are any unassigned users selected 
if($("#Unassigned_users").val()) { 
    // for all selected options ... 
    $("#Unassigned_users option:selected").each(function(n) { 
     var newOption = \'<option value="\' + $(this).val() + \'">\' + $(this).text() + \'</option>\'; 
     // check if there are any options in the assigned users 
     if ($("#Assigned_users option").size()) { 
      // put the item after the last option 
      $("#Assigned_users option:last").after(newOption); 
     } 
     // the assigned users list is empty 
     else { 
      // replace the contents of the select tag with the new option 
      $("#Assigned_users").html(newOption); 
     } 
     // finally, remove the selected item 
     $(this).remove(); 
    }); 
} 
}); 

Unassigned_users et Assigned_users sont les identifiants des éléments de sélection.

+0

Vous avez une syntaxe invalide, regardez simplement la surbrillance des couleurs ici (indice: guillemets échappés). Copier + coller problème ou problème réel? – deceze

+0

Oui, c'est parce que j'ai cet extrait de code dans une chaîne PHP. J'ai oublié d'annuler le contenu. –

+0

Ne pas écrire le code d'une langue à l'intérieur des chaînes d'un autre. Au moins, utilisez la syntaxe HEREDOC. :) – deceze

Répondre

1

J'ai trouvé le problème, qui n'est pas lié à jQuery. Pour que les éléments sélectionnés apparaissent dans le tableau $ _POST, vous devez sélectionner au moins un des éléments de chaque liste de sélection.