我有一个带有自动完成输入字段的html表单,可以打开一个jquery对话框。 在这个对话框中,我有一个sql搜索,需要输入框中的值。 如何在对话框中输入ass变量?
<!--autocomplete script -->
<script>
$(function() {
$( "#searchImage" ).autocomplete({
source: "search.php",
minLength: 1
});
});
</script>
<!-- Dialog Script -->
<script> $(function(){
$('#imageDialog').dialog({
autoOpen: false,
bgiframe: true,
height: "auto",
width: 900,
modal: true,
position: [ "center" , 150],
show: {
effect: "clip",
duration: 1000
},
hide: {
effect: "clip",
duration: 1000
},
buttons: {
OK: function() {
$(this).dialog( "close" );
}
}
});
$('form#imageForm').submit(function(e){
e.preventDefault();
$('#imageDialog').dialog('open');
});
});
</script>
<!-- Search Box -->
<div class="partSearch">
<form id="imageForm" name="imageForm" method="get">
<label for="image"><b>Image: </b></label>
<input id="searchImage" name="searchImage" type="text" value="" />
<input type="submit" value="Search" />
</form>
<!-- Dialog Content -->
<div id="imageDialog" title="Image">
<?php
<Code to get the Image name from input>;
//DB query
$query="select image, ssid, to_char(savetime,'DD-MM-YYYY HH24:MI') savetime, path
from table
where image like upper('%$IMAGE%')
order by image asc, savetime desc";
?>
答案 0 :(得分:0)
尝试查看jQuery UI autoComplete而不是直接使用php使用AJAX调用来填充自动完成插件中使用的数组
<script>
$(function() {
$( "#tags" ).autocomplete({
source: myarray ; // here put your values from ajax call
});
});
</script>
因此,您将使用jQuery从输入中获取值。
答案 1 :(得分:0)
在你的“search.php”中你执行一个方法,在那个方法中你必须搜索数据库结果,把它作为JSON数组发送到te ajax调用。
function searchInDB($param) {
// php code
return json_encode($sql_result_from_search);
}
<?php
echo json_encode(array("test","test","test"));
echo json_encode(array(0=>"test",3=>"test",7=>"test"));
?>
Will give :
["test","test","test"]
{"0":"test","3":"test","7":"test"}
您必须阅读有关AJAX的更多信息。看看here