2011-08-24 23 views
7

Tôi đang sử dụng jQuery autocomplete, như sau:Lấy Index của mục đã chọn trong jquery tự động hoàn toàn

Từ file PHP của tôi, tôi có được json mảng mã hóa - một cho id và một cho tên.

Tôi điền vào tự động điền với tên. Trong hàm select, tôi có thể cảnh báo chính xác mục đã chọn, nhưng tôi không thể lấy chỉ mục của mục đã chọn. Làm sao để tôi có được nó?

$(function() { 
    $.ajax({ 
     type: "POST", 
     url: "get_data.php", 
     success: function(data) { 
      data_array = jQuery.parseJSON(data); 
      $("#my_autocomplete").autocomplete({ 
       source: data_array.names, 
       select: function(event, ui) { 
        alert(ui.item); 
       } 
      }); 

     } 
    }); 
}); 

Trả lời

16

Ví dụ: http://jsfiddle.net/hY5Wt/

Thay vì hai mảng, bạn có thể có một mảng của các đối tượng. Mỗi đối tượng sẽ có nhãn và chỉ mục: {label:"First", idx:1}. Tự động hoàn tất sẽ sử dụng nhãn để hiển thị và trên sự kiện được chọn, bạn có thể truy cập ui.item.idx để nhận số nhận dạng/chỉ mục.

$(".selector").autocomplete({ 
    source: [{label:"First", idx:1}, 
      {label:"Second", idx:2}, 
      {label:"Third", idx:3}], 
    select: function(event, ui) { alert(ui.item.idx); } 
}); 

Bạn liên kết với plugin tự động hoàn thành, nhưng mã của bạn có vẻ như bạn đang sử dụng jQuery UI.

+0

Chỉ có thể hiển thị trong hộp văn bản một trường? (không nhất thiết đây là lĩnh vực nhãn)? – FrenkyB

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