我正在使用jQuery autocomplete构建自动填充功能。为了实现这一点,我在表中存储了216个行业的数据记录。我想获取该表并在javascript数组中使用自动完成。你可以看到我到目前为止所尝试的但是我得到了null。我的问题是如何从数据库中获取数据并使其成为我可以在javascript数组中用于自动完成的数组?
表格
id | industryName
1 | Air Transport
2 | Agriculture
...
autocomplete.php
<div class="ui-widget">
<label for="industries">Industries: </label>
<input id="industries">
</div>
<script>
$.ajax({
url : 'industries.php',
type : 'GET',
success : function(data){
var availableIndustries = jQuery.parseJSON(data);
$( function() {
$( "#industries" ).autocomplete({
source: availableIndustries
});
} );
}
});
</script>
industries.php
include 'includes/database.php';
$sql = "SELECT * FROM industries";
$result= $conn->query($sql);
echo json_encode($result);
答案 0 :(得分:0)
答案 1 :(得分:0)
我找到了一个适合我的解决方案。
<强> autocomplete.php 强>
$(document).on('click', '#remove', function(){
$(this).parents('article').remove();
});
<强> industries.php 强>
<div class="ui-widget">
<label for="industries">Industries: </label>
<input id="industries">
</div>
<script>
var validOptions = <?=$json_array?>;
previousValue = "";
$('#industries').autocomplete({
autoFocus: true,
source: validOptions
}).keyup(function() {
var isValid = false;
for (i in validOptions) {
if (validOptions[i].toLowerCase().match(this.value.toLowerCase())) {
isValid = true;
}
}
if (!isValid) {
this.value = previousValue
} else {
previousValue = this.value;
}
});
</script>