2012-01-12 82 views
0

如果下拉列表中的值與類型中的值匹配,我希望能夠更改下拉列表中選定的選項文本框。如何根據jQuery中的文本框中的值更改下拉列表的選定值

這是我曾嘗試和似乎並不奏效..

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

dropFinish2是下拉。 f2是文本框的ID。

回答

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

+0

啊,是的,這是行得通的,但如果他們鍵入小寫的東西,並且它的值是大寫的,它會做什麼? – Beginner 2012-01-12 12:33:40

+0

@Beginner:看到更新,最後一個應該工作,如果你無法改變你的價值 – musefan 2012-01-12 12:38:39

+0

謝謝!那完美的工作 – Beginner 2012-01-12 12:49:26

2

編輯:我想這是你所追求的:

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

Demo.

+0

如果在下拉列表中有一個選項與文本框中的文本相同,我想要在下拉列表中選擇值...我不認爲你的評論會做任何事情 – Beginner 2012-01-12 12:28:04

+0

@Beginner - 請看我的編輯。 – karim79 2012-01-12 12:33:34

+0

是的,但如果他們鍵入的是小寫字母,而文本框中的值是大寫字母或反之亦然,則不起作用 – Beginner 2012-01-12 12:35:09

相關問題