Javascript 如何使自动完成jQueryUI插件动态
我正在使用来自的Jquery UI自动完成插件。问题是,如何将动态内容插入自动完成?这就是我尝试过的:Javascript 如何使自动完成jQueryUI插件动态,javascript,jquery,jquery-ui,autocomplete,Javascript,Jquery,Jquery Ui,Autocomplete,我正在使用来自的Jquery UI自动完成插件。问题是,如何将动态内容插入自动完成?这就是我尝试过的: <?php $db2 = new mysqli("127.0.0.1", "root", "", "crave crap"); $one_grab = $db2->query("SELECT * FROM movies"); echo '<script> $(function() { var availableTags = [ <
<?php
$db2 = new mysqli("127.0.0.1", "root", "", "crave crap");
$one_grab = $db2->query("SELECT * FROM movies");
echo '<script>
$(function() {
var availableTags = [
</script>';
while($two_row = mysqli_fetch_array($one_grab)) {
echo $two_row["title"];
}
echo '"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$("#delete_movie").autocomplete({
source: availableTags
});
});
</script>';
?>
使用示例,echo json_encode()
atphp
$("#delete_movie").autocomplete({
source: function( request, response ) {
$.ajax({
url: "/path/to/php",
dataType: "json",
data: {
q: request.term
},
success: function( data ) {
response( data );
}
});
})
<div class="ui-widget">
<input id="delete_movie" name="delete_movie" required>
</div>
<script>
$(function() {
$( "#delete_movie" ).autocomplete({
source: "suggest.php"
});
</script>
<?php
$db2 = new mysqli("127.0.0.1", "root", "", "crave crap");
$one_grab = $db2->query("SELECT * FROM movies WHERE title LIKE '%{$_GET['term']}%' ");
while($two_row = mysqli_fetch_array($one_grab)) {
$data[] = $two_row["title"];
}
echo json_encode( $data );
例如,echo json_encode()
atphp
$("#delete_movie").autocomplete({
source: function( request, response ) {
$.ajax({
url: "/path/to/php",
dataType: "json",
data: {
q: request.term
},
success: function( data ) {
response( data );
}
});
})
<div class="ui-widget">
<input id="delete_movie" name="delete_movie" required>
</div>
<script>
$(function() {
$( "#delete_movie" ).autocomplete({
source: "suggest.php"
});
</script>
<?php
$db2 = new mysqli("127.0.0.1", "root", "", "crave crap");
$one_grab = $db2->query("SELECT * FROM movies WHERE title LIKE '%{$_GET['term']}%' ");
while($two_row = mysqli_fetch_array($one_grab)) {
$data[] = $two_row["title"];
}
echo json_encode( $data );
你需要两个独立的文件,
index.php
和suggest.php
$("#delete_movie").autocomplete({
source: function( request, response ) {
$.ajax({
url: "/path/to/php",
dataType: "json",
data: {
q: request.term
},
success: function( data ) {
response( data );
}
});
})
<div class="ui-widget">
<input id="delete_movie" name="delete_movie" required>
</div>
<script>
$(function() {
$( "#delete_movie" ).autocomplete({
source: "suggest.php"
});
</script>
<?php
$db2 = new mysqli("127.0.0.1", "root", "", "crave crap");
$one_grab = $db2->query("SELECT * FROM movies WHERE title LIKE '%{$_GET['term']}%' ");
while($two_row = mysqli_fetch_array($one_grab)) {
$data[] = $two_row["title"];
}
echo json_encode( $data );
index.php
$("#delete_movie").autocomplete({
source: function( request, response ) {
$.ajax({
url: "/path/to/php",
dataType: "json",
data: {
q: request.term
},
success: function( data ) {
response( data );
}
});
})
<div class="ui-widget">
<input id="delete_movie" name="delete_movie" required>
</div>
<script>
$(function() {
$( "#delete_movie" ).autocomplete({
source: "suggest.php"
});
</script>
<?php
$db2 = new mysqli("127.0.0.1", "root", "", "crave crap");
$one_grab = $db2->query("SELECT * FROM movies WHERE title LIKE '%{$_GET['term']}%' ");
while($two_row = mysqli_fetch_array($one_grab)) {
$data[] = $two_row["title"];
}
echo json_encode( $data );
你需要两个独立的文件,
index.php
和suggest.php
$("#delete_movie").autocomplete({
source: function( request, response ) {
$.ajax({
url: "/path/to/php",
dataType: "json",
data: {
q: request.term
},
success: function( data ) {
response( data );
}
});
})
<div class="ui-widget">
<input id="delete_movie" name="delete_movie" required>
</div>
<script>
$(function() {
$( "#delete_movie" ).autocomplete({
source: "suggest.php"
});
</script>
<?php
$db2 = new mysqli("127.0.0.1", "root", "", "crave crap");
$one_grab = $db2->query("SELECT * FROM movies WHERE title LIKE '%{$_GET['term']}%' ");
while($two_row = mysqli_fetch_array($one_grab)) {
$data[] = $two_row["title"];
}
echo json_encode( $data );
index.php
$("#delete_movie").autocomplete({
source: function( request, response ) {
$.ajax({
url: "/path/to/php",
dataType: "json",
data: {
q: request.term
},
success: function( data ) {
response( data );
}
});
})
<div class="ui-widget">
<input id="delete_movie" name="delete_movie" required>
</div>
<script>
$(function() {
$( "#delete_movie" ).autocomplete({
source: "suggest.php"
});
</script>
<?php
$db2 = new mysqli("127.0.0.1", "root", "", "crave crap");
$one_grab = $db2->query("SELECT * FROM movies WHERE title LIKE '%{$_GET['term']}%' ");
while($two_row = mysqli_fetch_array($one_grab)) {
$data[] = $two_row["title"];
}
echo json_encode( $data );
很好的例子!但是,我希望保留Jquery UI示例中使用的相同样式。“希望保留Jquery UI示例中使用的相同样式”什么是“相同样式”?请参见“问题,如何将动态内容插入自动完成?”中的原始问题。样式化版本使用了良好的间距和突出显示。您的示例仅使用文本自动完成…@ProgrammingTree“样式化版本使用了很好的间距和突出显示。”也许可以使用注释中描述的要求更新问题?“希望保持jQueryUI示例中使用的相同样式”。原始帖子中的问题似乎是“问题,如何将动态内容插入自动完成?”。另外请注意,post中的解决方案不应影响.autocomplete()
小部件的样式;仅解决了当用户搜索术语时从服务器检索数据的方法伟大的示例!但是,我希望保留Jquery UI示例中使用的相同样式。“希望保留Jquery UI示例中使用的相同样式”什么是“相同样式”?请参见“问题,如何将动态内容插入自动完成?”中的原始问题。样式化版本使用了良好的间距和突出显示。您的示例仅使用文本自动完成…@ProgrammingTree“样式化版本使用了很好的间距和突出显示。”也许可以使用注释中描述的要求更新问题?“希望保持jQueryUI示例中使用的相同样式”。原始帖子中的问题似乎是“问题,如何将动态内容插入自动完成?”。另外请注意,post中的解决方案不应影响.autocomplete()
小部件的样式;当用户搜索术语时,仅解决从服务器检索数据的方法。我只使用虚拟数据,您可以使用远程选项执行此操作。您介意解释更多吗?如何使$data等于while($two_row=mysqli_fetch_array($one_grab)){echo$two_row[“title”];}@ProgrammingTree我已经更新了我的答案,让我们来看看吧,我已经更新了我的问题来回答你。我已经向您展示了您给我的完整代码。请告诉我格式是否正确。如果是这样,代码是不正确的…我已经修改了答案我只是使用了一个虚拟数据,你可以用远程选项来实现这一点你介意解释更多吗?如何使$data等于while($two_row=mysqli_fetch_array($one_grab)){echo$two_row[“title”];}@ProgrammingTree我已经更新了我的答案,让我们来看看吧,我已经更新了我的问题来回答你。我已经向您展示了您给我的完整代码。请告诉我格式是否正确。如果是这样,代码是不正确的…我已经修改了答案