php - relacionadas - Agregue el valor predeterminado a la lista de selección en forma de Laravel:: seleccione
select dependientes laravel jquery (9)
Agregue ''placeholder'' => ''Please Select''
en Form::select
.
{!!
Form::select(
''myselect'',
$categories,
null,
[''class'' => ''form-control'', ''placeholder'' => ''Please Select''])
!!}
Pregunta simple, espero.
Necesito agregar un valor predeterminado a mi lista de selección ''Por favor, seleccione'', y configurarlo en deshabilitado.
<select name="myselect" id="myselect">
<option value="" disabled>Please Select</option>
<option value="1">Item 1</option>
<option value="2">Item 2</option>
</select>
Mi forma de trabajo actual: seleccionar es
{{
Form::select(
''myselect'',
$categories,
$myselectedcategories,
array(
''class'' => ''form-control'',
''id'' => ''myselect''
)
}}
¿Cómo puedo modificar esto para incluir el valor de la opción predeterminada?
En Laravel 5.1 puede anteponer el elemento predeterminado si la lista es una colección (resultado de un Eloquent::lists()
)
$categories = Category::lists(''name'', ''id'');
$categories->prepend(''None'');
He usado el marcador de posición y funcionó para mí
{!! Form :: select (''supplier'', $ suppliers, null, [''class'' => ''form-control'', ''placeholder'' => ''Please Select'']) !!}
O simplemente coloca el marcador de posición, por ejemplo:
[
''class'' => ''form-control'',
''id'' => ''myselect'',
''placeholder'' => ''None''
]
Eso hará el truco.
Para, prepending Seleccione con valor vacío
$categories = Category::lists(''name'', ''id'');
$categories->prepend(''Please Select'', '''');
Este código poblará algo como esto,
$categories[''''] = ''Please Select'';
$categories[0] = ''item 1'',
$categories[1] = ''item 2'';
Ahora puedes usar algo como esto:
{!! Form::select(''myselect'', $categories, '''',[''id''=>''myselect'']) !!}
Esto es útil para la validación de formularios también, como se requiere .
Pongo mi solución para este post. Espero poder ayudar a alguien
Uso una función php para agregar una opción a la matriz del modelo
array_unshift ($ model, [''value'' => '''', ''name'' => ''Select value'']);
Puedes usar array_merge
así:
{{
Form::select(
''myselect'',
array_merge(['''' => ''Please Select''], $categories),
$myselectedcategories,
array(
''class'' => ''form-control'',
''id'' => ''myselect''
))
}}
Alternativamente, puede establecer el marcador de posición en algún lugar antes de la selección:
$categories[''''] = ''Please Select'';
Actualizar
Para agregar el atributo deshabilitado puede intentar esto: (sin probar)
{{
Form::select(
''myselect'',
array_merge(['''' => [''label'' => ''Please Select'', ''disabled'' => true], $categories),
$myselectedcategories,
array(
''class'' => ''form-control'',
''id'' => ''myselect''
))
}}
Laravel 5.3
{{ Form::select(''role'', ['''' => ''Select Role''] +$roles, null, [''class'' => ''form-control'']) }}
$categories = Category::lists(''name'', ''id'');
$categories->prepend(''None'', 0);