2015-02-06 30 views
5

tôi đã viết mã này để thực hiện tự động hoàn thành từ mảng php nhưng nó không hoạt động, ai cũng có thể trợ giúp?tự động hoàn thành từ mảng php

php mảng

$cars = array("Volvo", "BMW", "Toyota");

hình thức của tôi

<form id="frm" method="post"> 
 
<input id="cartag" type="text" name="car"> 
 
</form>

kịch bản

$(function() { 
 
var availableTags = [ <?php echo implode(',',$cars); ?>]; 
 
\t $("#cartag").autocomplete({ 
 
\t source: availableTags 
 
\t }); 
 
});

+0

cho chúng tôi biết những gì hiện JS của bạn trông giống như sau khi PHP được thực thi. –

+0

xin lỗi nhưng tôi là người mới bắt đầu, làm thế nào tôi có thể cho bạn biết nó trông như thế nào sau khi thực hiện? –

Trả lời

5

nếu bạn muốn sử dụng mảng php trong jQuery bạn phải sử dụng json_encode.

như thế này:

var availableTags = <?php echo json_encode($cars); ?>; 

bản demo làm việc:

<?php 

$cars = array("Volvo", "BMW", "Toyota"); 

?> 
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> 
    <script src="http://code.jquery.com/jquery-1.10.2.js"></script> 
    <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
<form id="frm" method="post"> 
<input id="cartag" type="text" name="car"> 
</form> 
<script> 

$(function() { 
var availableTags = <?php echo json_encode($cars); ?>; 
    $("#cartag").autocomplete({ 
    source: availableTags 
    }); 
}); 

</script> 
0

Bạn cần jquery ui.
Đây là phiên bản được đơn giản hóa, mà không xem xét PHP;
jsfiddle

var lst = ["Volvo", "BMW", "Toyota"]; 
$("#cartag").autocomplete({ 
    source: lst 
    }); 

để phân tích mảng của bạn một cách chính xác từ PHP để js:

<script type='text/javascript'> 
<?php 
$php_array = array('abc','def','ghi'); 
$js_array = json_encode($php_array); 
echo "var javascript_array = ". $js_array . ";\n"; 
?> 
</script> 
+0

tôi cần phải đặt mảng php vào mảng java tự động, bạn đề nghị làm gì với điều đó? –

+0

thông báo lỗi trên bảng điều khiển của bạn là gì? – taesu

+0

không có lỗi và cũng không tự động hoàn tất –

1

Bạn cần phải trích dẫn mỗi chuỗi trong mảng (nếu không họ sẽ được đối xử như các biến, mà là không xác định) :

var availableTags = [ <?php echo '"' . implode('","', $cars) . '"'; ?> ]; 
+0

vẫn không hoạt động: ( –

+0

bạn có bao gồm jquery ui? – billyonecan

+0

có tôi làm

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