Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Twitter bootstrap typeahead trả về nhiều giá trị và lấp đầy hộp chỉnh sửa

Nếu tôi hiểu bạn chính xác, bạn sẽ nhận được kết quả nhưng không thể điền các trường đầu vào. Mặc dù tôi không sử dụng Twitter Bootstrap typeahead, nhưng tôi thực hiện một điều gì đó rất giống với tính năng tự động hoàn thành của jQuery. Đoạn mã dưới đây chưa được kiểm tra và tất nhiên bạn sẽ cần phải sửa đổi nó cho chính mình nhưng hy vọng sẽ giúp ích được phần nào.

Xem jsFiddle hoạt động này demo cho một cái gì đó tương tự.

PHP

$array = array();
while ($row = mysql_fetch_assoc($sql)) {
    array_push($array,array('ContactName'=>$row['ContactName'],'Telephone'=>$row['Telephone'],'Email'=>$row['Email']));
}
echo json_encode($array);


Bạn có thể kiểm tra những gì được trả về bằng cách nhập URL theo cách thủ công (ví dụ:yourite / Customer.php? query =SomeContactName). Bạn sẽ thấy một cái gì đó tương tự như sau:

[{"ContactName":"Some Contact","Telephone":"5555555555","Email":"[email protected]"},
 {"ContactName":"Some Other Contact","Telephone":"5555555555","Email":"[email protected]"}]


HTML / Javascript

<script>
    $('input.typeahead').typeahead({
        source: function (query, process) {
            $.ajax({
                url: 'Customer.php',
                type: 'POST',
                dataType: 'JSON',
                // data: 'query=' + query,
                data: 'query=' + $('#contactName').val(),
                success: function(data)
                {
                    var results = data.map(function(item) {
                        var someItem = { contactname: item.ContactName, telephone: item.Telephone, email: item.Email };
                        return JSON.stringify(someItem.contactname);
                    });
                    return process(results);
                }
            });
        },
        minLength: 1,
        updater: function(item) {
            // This may need some tweaks as it has not been tested
            var obj = JSON.parse(item);
            return item;
        }
    });
</script>

Dưới đây là một số bài đăng khác mà bạn có thể muốn xem tại Cách trả lại phản hồi từ AJAX gọi? Định dạng kết quả ajax của Bootstrap typeahead - Ví dụ




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL chọn thành viên thứ n của nhóm

  2. MySQL và MongoDB 1000 lần đọc

  3. PHP sử dụng regex để lặp và truy vấn mysql để xuất ra tệp excel

  4. Cách kết hợp nhiều dòng thành một cột trong MySQL

  5. Truy vấn SQL- Cập nhật nếu tồn tại, chèn nếu không