2012-03-08 8 views
81

No tengo mucha experiencia en HTML. Estoy buscando crear un cuadro de lista simple, pero uno de los requisitos es DESACTIVAR la selección múltiple. La mayoría del código para listboxes es el siguiente:¿Cómo crear un cuadro de lista en HTML sin permitir la selección múltiple?

<select name="sometext" multiple="multiple"> 
    <option>text1</option> 
    <option>text2</option> 
    <option>text3</option> 
    <option>text4</option> 
    <option>text5</option> 
</select> 

Pero esto permite una selección múltiple.

Here, se formuló una pregunta similar, pero la "mejor" respuesta ha sido desestimada. Así que no estoy seguro de qué otra manera podría hacerse esto. Por favor ayuda.

+5

Para otros recién llegados, por favor, evitar la mencionada página web para su propio bien - que tienen buen SEO, pero eso es todo. Está plagado de malas prácticas y hábitos que lamentarás haber aprendido más adelante. Use la API de MDN (Mozilla), en este caso https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select. – Ben

+3

@Steve gracias por la advertencia. Su comentario "Es por eso que tengo un trabajo" me pareció arrogante también. Si tienes un trabajo, bien para ti. Este es un foro de respuestas y no publicidades. – CodeBlue

Respuesta

143

sólo tiene que utilizar el atributo de tamaño:

<select name="sometext" size="5"> 
    <option>text1</option> 
    <option>text2</option> 
    <option>text3</option> 
    <option>text4</option> 
    <option>text5</option> 
</select> 
+2

Votificado a favor de la verdad. Además, cuando la pregunta se publicó anteriormente, es posible que esta solución no haya sido ampliamente admitida por todos los navegadores. – aaroncatlin

+0

Probablemente fue downvoted porque no hay nada en los estándares HTML que requiera que el navegador lo represente como un listbox si se establece el atributo de tamaño. Sí, todos los navegadores principales lo hacen actualmente, pero no hay garantía de que siempre lo hagan. Sin embargo, de forma realista, este sería un cambio radical para tantos sitios web, es probable que ningún navegador lo modifique. – Elezar

+1

El estándar está abierto a una pequeña interpretación: _ "El tamaño de visualización de un elemento seleccionado es el resultado de aplicar las reglas para analizar enteros no negativos al valor del atributo ** size ** del elemento, si tiene uno y análisis es exitoso. "_ Aunque esto no indica específicamente que debería mostrarse como un menú desplegable o un cuadro de lista, sería difícil mostrar un control desplegable que muestra más de 1 elemento. (https://html.spec.whatwg.org/#the-select-element) – aaroncatlin

2

Para Asp.Net MVC

@Html.ListBox("parameterName", ViewBag.ParameterValueList as MultiSelectList, 
new { 
@class = "chosen-select form-control" 
}) 

o

@Html.ListBoxFor(model => model.parameterName, 
    ViewBag.ParameterValueList as MultiSelectList, 
    new{ 
     data_placeholder = "Select Options ", 
     @class = "chosen-select form-control" 
    }) 
Cuestiones relacionadas