5

tôi đã cố gắng tìm kiếm các trường hợp tương tự và tôi tìm thấy một số nhưng mỗi lần, mã này là hơi khác nhau và tôi không quản lý việc tìm kiếm các giải pháp ...

jQueryUI Autocomplete với kết quả có thể click

Tôi sử dụng jQuery Autocomplete trên trang web của tôi bằng dữ liệu từ cơ sở dữ liệu mysql.
Kết quả được sắp xếp theo danh mục để hiển thị cả sản phẩm và thương hiệu trong cùng một đầu vào
Vì vậy, tôi đã tự nhiên dán ví dụ từ trang web của họ vào mỏ và hoạt động tốt!
Các json tạo ra giống như thế này

{"label":"Product 1","url":"product.php?id=1","category":"Products"} 

Vấn đề duy nhất của tôi là tôi muốn kết quả là nhấp được. Vì vậy, khi người dùng nhấp vào một kết quả, một trang khác tải thay vì hành vi mặc định đang điền dữ liệu vào.

Tôi đã tạo ra một bản demo trên jsfiddle để bạn có thể xem những gì đang xảy ra
http://jsfiddle.net/fJ22W (dữ liệu ngay được chứa trong js đây)

sự giúp đỡ của bạn là chào đón nhiều hơn, tôi đoán đây không phải là một việc lớn như vậy nhưng kỹ năng kém của tôi trong jQuery ngăn cản tôi để giải quyết vấn đề đó ...

Bertrand

+0

fiddle của bạn có hoạt động không? –

+0

bạn nói đúng, nó không hoạt động cố định: http://jsfiddle.net/fJ22W/2/ – Bertrand

Trả lời

6

Sử dụng chọn sự kiện:

$("#search").catcomplete({ 
     source: 'suggest_zip.php', 
     select: function(event, ui) { 
      window.location = ui.item.url; 
     } 
    }); 

Rõ ràng là bạn sẽ muốn có một số xác thực xung quanh url, v.v.

Vì điều đáng giá, tôi cũng khuyên bạn nên sử dụng tiện ích tự động hoàn thành mặc định và sử dụng sự kiện và tùy chọn thay vì cố gắng kế thừa từ đó. Mã của bạn sẽ sạch sẽ hơn và ít rủi ro bị lỗi lạ hơn.

+1

OH! Nó hoạt động. Tôi đã thấy tùy chọn này nhưng tôi đã bỏ lỡ một khung! Cảm ơn Chao, bạn đã cứu ngày của tôi! Bạn có ý nghĩa gì về xác thực xung quanh url? Tôi nghĩ rằng tôi sẽ giữ giải pháp này và chỉ kiểm soát ở đầu trang đích của tôi mà đối số là hợp lệ. Bạn nghĩ sao? – Bertrand

+1

Bằng cách xác nhận, tôi chỉ có nghĩa là đảm bảo rằng ui.item.url có giá trị, đó là URL hợp lệ, v.v. chỉ trong trường hợp bạn nhận được một số dữ liệu xấu trong đó. – Chao

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