2009-11-26 6 views
0

Supposons que nous ayons un multi-sélection HTML.HTML Multi-select vers Ajax URL

Comment préparer une URL de requête ajax avec les valeurs sélectionnées dans le multi-select. J'utilise YUI dataTable, donc je ne pense pas que je puisse utiliser la sérialisation de formulaire (mais je ne voudrais même pas le faire même si je le pouvais)? L'URL générée doit être la même que pour une soumission de formulaire normale avec actualisation de page.

Je l'ai fait, mais espérais une meilleure façon avec YUI était possible:

function createURLFromMultiSelect(ob, name) { 
    var url = ""; 
    for (var i = 0; i < ob.options.length; i++) { 
     if (ob.options[ i ].selected) { 
      url += "&" + name + "[]=" + ob.options[ i ].value; 
    } 
    } 
    return url; 
} 

Répondre

0
name=value1&name=value2&name=value3 
+0

Bien, OK. C'est juste ce que je veux faire. Comment puis-je le faire avec élégance? –

+0

BTW, il devrait eb nom [] = valeur1 & nom [] = valeur2 & nom [] = valeur3 –

+0

Non, il ne devrait pas. Si vous utilisez PHP et que vous utilisez la bibliothèque d'analyse de formulaires intégrée de PHP, le nom doit se terminer par les caractères "[]" mais ces caractères font partie du nom, et ne sont pas séparés. – Quentin

-1

Le nom de votre sélection peut doit se terminer par []. Par exemple, <select name="items[]">
Ensuite, dans votre code PHP, vous avez simplement accès $_POST['items'][$n]; ou count($_POST['items']); ou tout ce que vous voulez faire avec le tableau.

--Dave

+0

Je pense que vous avez mal compris mon cas d'utilisation. Je ne soumets pas de formulaire Web 1.0, je veux avoir un moyen de construire manuellement l'URL pour envoyer une requête ajax. (ou vous comptez sur la sérialisation des formulaires, que j'ai en quelque sorte éliminée de la solution). –