如何根据jQuery中文本框中的值更改下拉列表的选定值

时间:2012-01-12 12:22:36

标签: jquery drop-down-menu

如果下拉列表中的值与文本框中的类型匹配,我希望能够更改下拉列表的选定选项。

这是我尝试过的,似乎并没有起作用..

$('#dropFinish2-box option').each(function () {
                if (this.value == $('#f2').val()) {
                    $("#dropFinish2 option:selected").text($('#f2').val());
                }
            });

dropFinish2是下拉列表。 f2是文本框的id。

2 个答案:

答案 0 :(得分:2)

编辑:我认为这就是你所追求的目标:

$("input").keyup(function() {
    if ($('select option[value="' + $(this).val() + '"]').length) {
        // do something
        $('select').val($(this).val());
    }
});

Demo.

答案 1 :(得分:1)

为什么要遍历列表。只是尝试直接设置它。如果没有匹配,则不会改变......

$("#dropFinish2").val($('#f2').val());

Here is a working example

如果值全部为小写,则可以执行...

$("#dropFinish2").val($('#f2').val().toLowerCase());

或者如果无法更改值框...

$("#f2").keyup(function(){
    var input = $(this).val().toLowerCase();

    $('#dropFinish2 option').each(function () {
       if(input == this.value.toLowerCase()){
          $("#dropFinish2").val(this.value);
       }
    });
});

Case-insensitive working example