2010-07-08 10 views

Respuesta

2

Para desplegable:

$('idOfSelect').selectedIndex = x; 

Para el texto:

$('IdOfInput').value = 'Foo'; 
+0

¿hay alguna otra manera de la opción para hacer esto. como en jQuery ('# idOfSelect'). val ([2,4]) o jQuery ('# idOfInput'). val ('Foo') – YuanChen

+0

sobre el elemento de selección Sólo conozco una matriz de valores del elemento de selección. ¿Cómo puedo convertirlo en selectedIndex – YuanChen

8

básicamente - element.get("value"); devuelve el valor para todas las entradas, selecciona y áreas de texto, .set("value", value); a los puso (a excepción de múltiplos)

es más complicado seleccionar con múltiples: lo anterior devuelve el PRIMERO seleccionado solamente, debe hacer element.getSelected().get("value") para recibir una matriz de valores (.getSelected() por sí solo devolverá los punteros a los elementos reales option)

y, por último, para establecer múltiples selecciones, solo forma en que puedo pensar en atm es escribir su propio prototipo de elemento que camina a través de nodos hijos con los valores como se especifica y hace .set("selected", "selected")

que me haga saber si necesita alguna ayuda para escribir este último

2

la respuesta es correcta acerca de múltiplos, y la necesidad de utilizar selectEl.getChildren('option').each(function(option)...

pero incluso para un solo selecciona, en IE (estoy probando esto en IE9) si no hay una propiedad de "valor" en cada opción, entonces Mootools falla, es decir, selectEl.set('value', value) no funciona. En FF funciona y en IE funciona si configuras la propiedad "valor" de cada elemento.

Mi solución es:

selectEl.getElements('option').each(function(option) { 
    option.selected = option.get('value')==value 
}); 

Tenga en cuenta que option.get ('valor') funciona incluso en IE, donde no hay value propiedad, Mootools suministra text

Cuestiones relacionadas