2013-10-09 13 views
0

J'ai deux boîtes de sélection: la première contient tous les éléments disponibles et la seconde contient les éléments que j'ai sélectionnés dans la première boîte de sélection.CodeIgniter afficher tous les éléments sélectionnés

$items=$this->Database->getItems(); 
$mySelect=form_multiselect('addedMaterials', $items, '1', 'id="addedMaterials" multiple="multiple"'); 

Pour soumettre tous les éléments de la deuxième boîte de sélection J'ai mis ceci:

function selectAll() 
    { 
     var selObj = document.getElementById('addedMaterials'); 
     for (var i=0; i<selObj.options.length; i++) { 
     selObj.options[i].selected = true; 
     } 
    } 

Alors maintenant, je vais au contrôleur, où je veux obtenir les articles de la boîte. ..

$ stuff = $ this-> input-> post ('addedMaterials');

Mon problème est qu'il n'obtient que le dernier élément sélectionné, pas tous. Comment puis-je obtenir tous les éléments de la boîte de sélection?

+0

Salut dak, je ne pas savoir si cela peut vous aider, mais si vous utilisez jquery, vous pouvez essayer $ (« # addedMaterials ») find (« option ».) .attr ('selected', 'selected') pour sélectionner all et $ ('# addedMaterials'). find ('option'). removeAttr ('selected') pour supprimer la sélection. –

+0

la fonction fonctionne bien ... Je peux voir comment tous les éléments tournent sélectionnés. Qu'est-ce que je veux résoudre est le poste ... – dak

+0

pouvez-vous modifier votre question et mettre le code HTML de cette sélection ici? –

Répondre

1

J'ai trouvé ma solution ici: Post values from a multiple select

Lorsque nous déclarons la sélection multiple, l'attribut "name" doit être le nom = 'MySELECT []. Dans mon cas, il devrait être:

$mySelect=form_multiselect('addedMaterials[]', $items, '1', 'id="addedPrinters" multiple="multiple"'); 
Questions connexes