Este artículo trata principalmente sobre los métodos más básicos relacionados con javascript y select, como referencia para personas que no están familiarizadas con javascript. Una situación común es que la persona que propone la estructura del formulario no solo necesita diseñar la lógica del programa y crear estructuras de datos, sino que también necesita diseñar el estilo del formulario y estar familiarizado con JavaScript; algunas empresas pueden exigir que domines; En Photoshop: al principio todos seamos un todoterreno.
La siguiente es la base de nuestro ejemplo; este no es un formulario estándar.
<formulario id="f">
<seleccione tamaño="1" nombre="s">
<option value="VeVB.COm">Wulin.com</option>
<opción valor="baidu.com">Baidu</option>
</seleccionar>
</formulario>
-------------------------------------------------- --------------------------
Copie el código de código de la siguiente manera:
<tipo de script="texto/javascript">
<!--
var f = document.getElementById("f");
//Obtener el número de elementos de la lista de selección
documento.write(fsoptions.length);
documento.write(fslength);
// El subíndice del elemento seleccionado actualmente (a partir de 0) (hay dos métodos)
//Si se seleccionan varios elementos, devuelve el subíndice del primer elemento seleccionado
document.write(fsoptions.selectedIndex);
document.write(fsselectedIndex);
//Comprueba si un elemento está seleccionado
document.write(fsoptions[0].seleccionado);
//Obtener el valor y el texto de un determinado elemento
document.write(fsoptions[0].value);
document.write(fsoptions[1].texto);
//Eliminar un elemento
fsoptions[1] = nulo;
//Añadir un elemento
fsoptions[fsoptions.length] = new Option("Texto adicional", "Valor adicional");
//Cambiar un elemento
fsoptions[1] = nueva Opción("texto modificado", "valor modificado");
//También puedes configurar directamente el texto y el valor del elemento
//-->
</script>
//Selecciona todos los elementos de la lista
función SeleccionarTodasOpciones(lista)
{
para (var i=0; i<lista.opciones.longitud; i++)
{
lista.opciones[i].seleccionado = verdadero;
}
}
//Invertir la selección de elementos en la lista por VeVB.COm asp learning network
funciónDeSelectOptions(lista)
{
para (var i=0; i<lista.opciones.longitud; i++)
{
lista.opciones[i].seleccionada = !lista.opciones[i].seleccionada;
}
}
//Devuelve el número de elementos seleccionados en la lista
función GetSelectedOptionsCnt(lista)
{
var cont = 0;
var i = 0;
para (i=0; i<lista.opciones.longitud; i++)
{
si (lista.opciones[i].seleccionado)
{
cnt++;
}
}
devolver cnt;
}
//borrar la lista
función BorrarLista(lista)
{
mientras (lista.opciones.longitud > 0)
{
lista.opciones[0] = nulo;
}
}
//Eliminar el elemento seleccionado de la lista
//Devuelve el número de elementos eliminados
función DelSelectedOptions(lista)
{
var i = 0;
var eliminadoCnt = 0;
mientras (i < lista.opciones.longitud)
{
si (lista.opciones[i].seleccionado)
{
lista.opciones[i] = nulo;
eliminadoCnt++;
}
demás
{
yo ++;
}
}
devolver Cnt eliminado;
}
//Esta función encuentra si el elemento correspondiente existe
//repetirComprobar si se debe realizar la verificación de repetibilidad
//Si es "v", realiza una verificación de valor duplicado por valor
//Si es "t", realiza una verificación de valor duplicado según el texto
//Si es "vt", realiza una verificación de valor duplicado por valor y texto
//Otros valores, sin verificación de repetibilidad, devuelve falso
función OptionExists (lista, optText, optValue, repetirCheck)
{
var i = 0;
var buscar = falso;
si (repeatCheck == "v")
{
//Comprobación de valor duplicado por valor
para (i=0; i<lista.opciones.longitud; i++)
{
si (lista.opciones[i].valor == optValue)
{
encontrar = verdadero;
romper;
}
}
}
de lo contrario si (repeatCheck == "t")
{
// Repetir verificación por texto
para (i=0; i<lista.opciones.longitud; i++)
{
si (lista.opciones[i].texto == optText)
{
encontrar = verdadero;
romper;
}
}
}
de lo contrario si (repeatCheck == "vt")
{
//Cheque duplicado por valor y texto
para (i=0; i<lista.opciones.longitud; i++)
{
if ((lista.opciones[i].valor == optValue) && (lista.opciones[i].text == optText))
{
encontrar = verdadero;
romper;
}
}
}
volver encontrar;
}
//Añadir un elemento a la lista
//list es la lista que se agregará
//optText y optValue representan el texto y el valor del elemento respectivamente
//repeatCompruebe si se debe realizar una verificación de repetibilidad, consulte OptionExists
//Devuelve verdadero si se agregó correctamente, falso si falla
función AppendOption(lista, optText, optValue, repetirCheck)
{
if (!OptionExists(lista, optText, optValue, repetirCheck))
{
list.options[list.options.length] = nueva opción(optText, optValue);
devolver verdadero;
}
demás
{
devolver falso;
}
}
//insertar elemento
// posición de inserción del índice, cuando la posición de inserción> = el número de elementos existentes en la lista, su función es equivalente a agregar elementos sin verificar repetidamente
//optText y optValue representan el texto y el valor del elemento respectivamente
función InsertarOpción(lista, índice, optText, optValue)
{
var i = 0;
para (i=lista.opciones.longitud; i>índice; i--)
{
lista.opciones[i] = nueva Opción(lista.opciones[i-1].texto, lista.opciones[i-1].valor);
}
lista.opciones[índice] = nueva opción(optText, optValue);
}
//Exportar elementos de una lista a otra lista
//repeatCompruebe si se debe realizar una verificación de repetibilidad, consulte OptionExists
// Después de importar los elementos de eliminación de origen al destino, si se deben eliminar los elementos en la lista de origen
//Devuelve el número de elementos afectados
función ListToList(sList, dList, repetirComprobación, eliminarFuente)
{
//El número de filas afectadas
var líneas = 0;
var i = 0;
mientras (i<sList.options.length)
{
if (sList.options[i].seleccionado && AppendOption(dList, sList.options[i].text, sList.options[i].value, repetirCheck))
{
//Agregado exitosamente
líneas++;
si (eliminar fuente)
{
//Eliminar elementos de la lista de fuentes
sList.opciones[i] = nulo;
}
demás
{
yo ++;
}
}
demás
{
yo ++;
}
}
líneas de retorno;
}
//Mover el elemento seleccionado hacia arriba en la lista
función MoveSelectedOptionsUp(lista)
{
var i = 0;
valor var = "";
var texto = "";
para (i=0; i<(lista.opciones.longitud-1); i++)
{
if (!lista.opciones[i].seleccionado && lista.opciones[i+1].seleccionado)
{
valor = lista.opciones[i].valor;
texto = lista.opciones[i].texto;
lista.opciones[i] = nueva Opción(lista.opciones[i+1].texto, lista.opciones[i+1].valor);
lista.opciones[i].seleccionado = verdadero;
lista.opciones[i+1] = nueva Opción(texto, valor);
}
}
}
//Mover el elemento seleccionado hacia abajo en la lista
función MoveSelectedOptionsDown(lista)
{
var i = 0;
valor var = "";
var texto = "";
para (i=lista.opciones.longitud-1; i>0; i--)
{
//www.VeVB.COm
if (!lista.opciones[i].seleccionado && lista.opciones[i-1].seleccionado)
{
valor = lista.opciones[i].valor;
texto = lista.opciones[i].texto;
lista.opciones[i] = nueva Opción(lista.opciones[i-1].texto, lista.opciones[i-1].valor);
lista.opciones[i].seleccionado = verdadero;
list.options[i-1] = nueva Opción(texto, valor);
}
}
}