2012-10-27 38 views
5


Tôi đang cố viết mã cho phép danh sách chọn được điền dựa trên giá trị đầu vào của hộp văn bản.

Ví dụ:
Nếu người dùng nhập sữa vào hộp văn bản, danh sách chọn sẽ chứa "full fat", "Skimmed", "1% Milk"

Tôi đã trực tuyến và không thể tìm thấy bất kỳ thông tin nào về cách thực hiện việc này. Tôi đã quản lý để autopopulate một danh sách lựa chọn dựa trên sự lựa chọn từ một trước đó bằng cách sử dụng jquery. Tuy nhiên, tôi không thể tìm thấy một giải pháp cho khi sử dụng một hộp văn bản.
Cảm ơn bạn đã xem câu hỏi của tôi!jQuery điền Chọn danh sách dựa trên giá trị nhập văn bản

Trả lời

6

tạo một đối tượng chứa mảng các tùy chọn:

selectOptions = { 
    milk: ["full fat", "Skimmed", "1% Milk"] 
} 

dựa trên này, bạn có thể thêm <option> thẻ vào <select> khi sự kiện onchange của <textarea> cháy:

$('textarea').change(function() { 
    if(selectOptions[$(this).val()]) { // does the selectOptions object have an entry for the value of the textarea? 
     $.each(selectOptions[$(this).val()], function() { // for each array item do 
      $('select').append('<option>' + this + '</option>'); // append an option tag for the array item 
     }); 
    } 
}); 
+0

Cảm ơn vì đã giúp. Tôi đã thử, nhưng nó dường như không hoạt động. Hãy suy nghĩ tôi đang đi sai ở đâu đó. Nếu tôi nhập sữa vào hộp văn bản thì danh sách lựa chọn sẽ được điền bằng "đầy đủ chất béo", "gầy", "1% sữa"? – user1779796

+0

sự kiện onchange sẽ kích hoạt nếu bạn bỏ chọn hộp văn bản .. bạn cũng có thể sử dụng onkeyup, nó sẽ kích hoạt trên mỗi lần nhấn phím. –

+0

xin lỗi .. tôi đã không kiểm tra mã tôi đã viết;) tôi cập nhật nó và nó hoạt động bây giờ .. nhìn ở đây cho một testcase: http://jsfiddle.net/xeVBm/4/ –

Các vấn đề liên quan