Cambiar el texto del valor del cuadro de selección

Tengo un cuadro de texto y un cuadro de selección.

<input type="text" />

<select>
<option value=1>Test1</option>
<option value=2>Test2</option>
</select>

Ahora quiero que cuando el usuario escriba algo en el cuadro de texto, cambie el valor = 2 texto.

Intenté esto, pero parece que no funciona.

$(document).ready(function () {
$("#textbox").keyup(function () {




    $("select#sync[value='2']").text($(this).val());
});

});

preguntado el 10 de marzo de 12 a las 16:03

5 Respuestas

Aparte del hecho de que no ha dado los ID de los elementos, el problema es que necesita acceder a la <option> elemento (que uno tiene un valor de 2 - no hay <select value=2>). Además, las ID son únicas, por lo que usar select#sync es (debería ser) lo mismo que #sync:

$("#sync option[value='2']")

respondido 10 mar '12, 17:03

<input type="text" id="textbox" />
<select>
   <option value="1">Test1</option>
   <option value="2">Test2</option>
</select>​

$(document).ready(function () {
    $("#textbox").keyup(function() {
       $("select option[value='2']").text($(this).val());
    });​
});

http://jsfiddle.net/gxaWE/

respondido 10 mar '12, 17:03

puedes probar

$("#sync").val($(this).val());

siempre que el usuario solo escriba el valor que está dentro del rango

DEMO

respondido 10 mar '12, 16:03

$("#text_box").keyup(function() {
 $("#sync option[value='2']").text($(this).val());
});

​ ​

Aquí está el violín que muestra que funciona: http://jsfiddle.net/bRw8Z/1/

Cambia el texto de la opción de selección número 2. ¿Es eso lo que querías?

respondido 10 mar '12, 17:03

Veo algunos problemas aquí:

  1. No tiene sentido establecer el innerText menos <select> elemento; desea establecer su valor en su lugar,
  2. EL #textbox selector en realidad no seleccionaría nada.
  3. Si su entrada no coincidió exactamente con un <option>'s value atributo, el primero <option> sería seleccionado.

Este fragmento seleccionará un <option> si es value El atributo coincide con el valor de la entrada de texto.

$(document).ready(function () {
    $("input").keyup(function () {
        var $select = $("select"),
            value = $(this).val();
        if($select.find('option[value="' + value + '"]').length){
            $select.val(value);
        }
    });
});​

http://jsfiddle.net/2XxRQ/1/

respondido 10 mar '12, 17:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.