2011-10-19 63 views
5

hola yo estoy usando codeigniter, quiero añadir un multi select box a mi página,cómo crear un cuadro de selección múltiple con opciones fuera seleccionada CodeIgniter

vi el ejemplo guía del usuario CodeIgniter, pero lo que está haciendo está ajustado los valores en selección múltiple.

como esto

$options = array(
        'small' => 'Small Shirt', 
        'med' => 'Medium Shirt', 
        'large' => 'Large Shirt', 
        'xlarge' => 'Extra Large Shirt', 
       ); 

$shirts_on_sale = array('small', 'large'); 

echo form_dropdown('shirts', $options, $shirts_on_sale); 

en este cuadro de selección múltiple creado como esto

<select name="shirts" multiple="multiple"> 
<option value="small" selected="selected">Small Shirt</option> 
<option value="med">Medium Shirt</option> 
<option value="large" selected="selected">Large Shirt</option> 
<option value="xlarge">Extra Large Shirt</option> 
</select> 

es suficiente con dar las opciones a seleccionar en $shirts_on_sale matriz, pero en mi caso quiero crear una selección múltiple pero dont want selected options intenté pasar una matriz vacía. pero no está funcionando

como esto

$array = array(); 
echo form_dropdown('shirts', $substore_details, $array); 

cómo crear un multi seleccione sin elementos seleccionados. por favor ayuda ..............

Respuesta

8

Debe utilizar el ayudante form_multiselect().

$options = array(
        'small' => 'Small Shirt', 
        'med' => 'Medium Shirt', 
        'large' => 'Large Shirt', 
        'xlarge' => 'Extra Large Shirt', 
       ); 

echo form_multiselect('shirts', $options); 
+0

oh mi ............ esto es correcto, muchas gracias –

1

La única cosa que viene a la mente es el uso de una matriz con más de un elemento vacío:

$options = array(
        'small' => 'Small Shirt', 
        'med' => 'Medium Shirt', 
        'large' => 'Large Shirt', 
        'xlarge' => 'Extra Large Shirt', 
       ); 

$array = array('',''); 
echo form_dropdown('shirts',$options, $array); 

funciona este código, aunque no es el más elegante que hay.

ACTUALIZACIÓN:

Esto es incluso mejor, no lo recordaba al principio!

echo form_multiselect('shirts',$options,'',''); 

Salida:

<select name="shirts" multiple="multiple"> 
<option value="small">Small Shirt</option> 
<option value="med">Medium Shirt</option> 
<option value="large">Large Shirt</option> 
<option value="xlarge">Extra Large Shirt</option> 
</select> 
+0

genial, eso funcionó, muchas gracias ............ –

+0

@KanishkaPanamaldeniya Por favor, consulte mi respuesta de actualización para un mejor método –

+0

sí. Vi, lo uso, gracias .............: D: D –

0

La versión anterior de codeigniter no tiene form_multiselect(). código siguiente debería funcionar

$array = array(); 
echo form_dropdown('shirts', $substore_details, $array, 'multiple'); 
0

he intentado todas las soluciones pero nadie trabaja conmigo he intentado (form_dropdown a partir del ayudante) También probé manera ordinaria con múltiples = "múltiple"

¿Es común problema con codeigniter ??

actualización el error fue que nadie se olvide de nombrar en el atributo HTML como los coches de la matriz []

<select **name="cars[]"** multiple="multiple"> 
    <option value="volvo">Volvo</option> 
    <option value="saab">Saab</option> 
    <option value="opel">Opel</option> 
    <option value="audi">Audi</option> 
</select> 

esto funciona bien siempre.

Cuestiones relacionadas