ejemplos attribute agregar javascript html prototypejs

javascript - attribute - ¿Cómo selecciono una opción usando un prototipo?



title css (9)

Supongamos que tengo un formulario HTML que contiene este elemento de selección:

<select name="mySelect" id="mySelect"> <option value="1" id="option1">1</option> <option value="2" id="option2">2</option> </select>

¿Cómo puedo usar un prototipo para seleccionar uno de los elementos de opción?

Los métodos enumerados en la referencia de API de Form.Element no parecen ayudar con esto.

editar: con "seleccionar" me refiero al efecto equivalente del atributo "seleccionado" en un elemento de opción.


Para obtener la opción actualmente seleccionada, use:

$$(''#mySelect option'').find(function(ele){return !!ele.selected})


Para seleccionar la segunda opción por valor, puede usar esto:

var myChoice = ''2''; $$(''select#mySelectId option'').each(function(o) { o.selected = o.readAttribute(''value'') == myChoice; });


Prueba esto:

$(''mySelect'').setValue(1); // or whatever value you want to select

este seleccionaría la option1


Suponiendo que sepa qué valor desea que sea seleccionado, intente:

$(''mySelect'').value = 2; // 2 being the value you want selected


nils petersohn casi lo hace bien, pero por lo general, el atributo "id" de la opción no es lo que la gente está seleccionando. este pequeño cambio lo hace funcionar.

var selectThis = ''option1''; $$(''select#mySelectId option'').each(function(o) { if(o.readAttribute(''value'') == selectThis) { // note, this compares strings o.selected = true; throw $break; // remove this if it''s a multi-select } });


prueba esto...

document.observe(''dom:loaded'', function() { $(''mySelect'').observe(''change'', function(event) { ... }); });


var itis = $(mySelectId).select(''option[value="'' + sValueToSelect + ''"]''); if ( itis && itis.length > 0 ) itis[0].selected = true;


var options = $$(''select#mySelect option''); var len = options.length; for (var i = 0; i < len; i++) { console.log(''Option text = '' + options[i].text); console.log(''Option value = '' + options[i].value); }

options es una matriz de todos los elementos de opción en el #mySelect desplegable #mySelect . Si desea marcar uno o más de ellos como seleccionados, solo use la propiedad selected

// replace 1 with index of an item you want to select options[1].selected = true;


var selectThis = ''option1''; $$(''select#mySelect option'').each(function(o){ if(o.id==selectThis){o.selected = true;$break;} });