/ / Configuración del valor (opción seleccionada) de un widget dijit.form.Select: javascript, dojo

Configuración del valor (opción seleccionada) de un widget dijit.form.Select: javascript, dojo

Tengo un widget dijit.form.Select. Está vinculado a un almacén de datos, si eso importa. Ya está lleno de varias opciones. Todo lo que quiero hacer es establecer su valor mediante programación. Puedo obtener su valor usando myWidget.attr("value") pero si trato de hacer myWidget.attr("value", 5) por ejemplo (donde 5 es uno de los valores válidos), todo lo que hace es reiniciar el widget para seleccionar la primera opción, sin importar el valor que le dé.

Esto parece ser un error, y no hay ninguna prueba o documentación que muestre cómo lograr lo que quiero. Pero, ¿hay alguna manera, incluso si es un truco sucio?

Estoy usando Dojo 1.4.0. Tenga en cuenta que dijit.form.Select es el nuevo nombre para dojox.form.DropDownSelect.

edición: incluso intenté restablecer el widget con todas las nuevas opciones, pero ignora la opción que tiene selected = true y simplemente selecciona la primera opción. Todavía debe haber una manera sin embargo.

Respuestas

15 para la respuesta № 1

Incluso si sus valores son ints, si establece su entero en una cadena, esto funcionará.

dijit.byId( "my_select" ).attr( "value", String( 5 ) );

11 para la respuesta № 2

Resulta que es un error: si los valores de las opciones no son cadenas, no funcionarán (los míos eran enteros).


2 para la respuesta № 3

Repost de mi comentario: Hay una página de prueba aquí: archivo dojo que puedes meterte con Usando fire-bug usé dijit.byId ("s9"). Attr ("value", "CO") exitosamente en esa página. Eso establecerá la selección "basada en la tienda" en esa página.

Pero como dijiste, lo configuré usando una cadena y estabas usando números enteros, así que no vi el error. Buena captura.