Php 我需要从mysql数据库中获取数据,并将其放入json数组,然后使用json数组自动完成textbox
我需要从mysql数据库获取数据,并将其放入json数组,然后使用json数组自动完成textbox。我可以使用单独的php从db加载数据,并在ajax中使用它。。但我正试图用一个php文件来实现这一点。。这可能吗。。如何做到这一点Php 我需要从mysql数据库中获取数据,并将其放入json数组,然后使用json数组自动完成textbox,php,mysql,arrays,json,Php,Mysql,Arrays,Json,我需要从mysql数据库获取数据,并将其放入json数组,然后使用json数组自动完成textbox。我可以使用单独的php从db加载数据,并在ajax中使用它。。但我正试图用一个php文件来实现这一点。。这可能吗。。如何做到这一点 <script> $(document).on('keyup','.jornal', function(){ var thisRow = $(this).data('value'); if(event.which !=
<script>
$(document).on('keyup','.jornal', function(){
var thisRow = $(this).data('value');
if(event.which != 13){
//itemSearchDisables(thisRow);
}
autoTypeNo2=1 ;
autoTypeNo1=0 ;
$(this).autocomplete({
source: function( request, response ) {
$.ajax({
url : 'AJAX_Requst/bill_itemDetail.php',
dataType: "json",
method: 'post',
data: {
ID: request.term
},
success: function( data ) {
response( $.map( data, function( item ) {
var code = item.split("|");
if(code[0] == 'Login Please'){
//window.location = '../login.php';
}
return {
label: code[autoTypeNo2] + ' | '+ code[3],
value: code[autoTypeNo1],
data : item
}
}));
}
});
},
autoFocus: true,
minLength: 0,
select: function( event, ui ) {
var names = ui.item.data.split("|");
id_arr = $(this).attr('id');
id = id_arr.split("_");
//itemSearchEnables(thisRow);
$('#itemNo_'+id[1]).val(names[0]);
$('#itemName_'+id[1]).text(names[1]);
}
});
});
</script>
$(document).on('keyup','.jornal',function(){
var thisRow=$(this.data('value');
if(event.which!=13){
//itemSearchDisables(thisRow);
}
同源型2=1;
自型1=0;
$(此)。自动完成({
来源:功能(请求、响应){
$.ajax({
url:'AJAX\u Requst/bill\u itemdail.php',
数据类型:“json”,
方法:“post”,
数据:{
ID:request.term
},
成功:功能(数据){
响应($.map)(数据、功能(项){
var代码=项目。拆分(“|”);
如果(代码[0]=“请登录”){
//window.location='../login.php';
}
返回{
标签:代码[自动类型2]+“|”+代码[3],
值:代码[自动类型1],
数据:项目
}
}));
}
});
},
自动对焦:对,
最小长度:0,
选择:功能(事件、用户界面){
var name=ui.item.data.split(“|”);
id_arr=$(this.attr('id');
id=id_arr.split(“”);
//itemSearchEnables(thisRow);
$('#itemNo'+id[1]).val(名称[0]);
$('#itemName.'+id[1])。文本(名称[1]);
}
});
});
这就是我到目前为止所做的加载数据的工作。它工作得很好。如果我的理解正确,在同一个php文件中创建json数组,并将该数组传递给javascript函数。。它将是下面这样的东西
<script>
$(function() {
var availableTags = [<?php $jsonArray ?>];
$( "#tags" ).autocomplete({
source: availableTags
});
});
</script>
$(函数(){
var availableTags=[];
$(“#标记”).autocomplete({
资料来源:availableTags
});
});
在这种情况下,试着用这个
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Autocomplete - Custom data and display</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<style>
#project-label {
display: block;
font-weight: bold;
margin-bottom: 1em;
}
#project-icon {
float: left;
height: 32px;
width: 32px;
}
#project-description {
margin: 0;
padding: 0;
}
</style>
<script>
$(function() {
var projects = [
{
value: "jquery",
label: "jQuery",
desc: "the write less, do more, JavaScript library",
icon: "jquery_32x32.png"
},
{
value: "jquery-ui",
label: "jQuery UI",
desc: "the official user interface library for jQuery",
icon: "jqueryui_32x32.png"
},
{
value: "sizzlejs",
label: "Sizzle JS",
desc: "a pure-JavaScript CSS selector engine",
icon: "sizzlejs_32x32.png"
}
];
$( "#project" ).autocomplete({
minLength: 0,
source: projects,
focus: function( event, ui ) {
$( "#project" ).val( ui.item.label );
return false;
},
select: function( event, ui ) {
$( "#project" ).val( ui.item.label );
$( "#project-id" ).val( ui.item.value );
$( "#project-description" ).html( ui.item.desc );
$( "#project-icon" ).attr( "src", "images/" + ui.item.icon );
return false;
}
})
.autocomplete( "instance" )._renderItem = function( ul, item ) {
return $( "<li>" )
.append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
.appendTo( ul );
};
});
</script>
</head>
<body>
<div id="project-label">Select a project (type "j" for a start):</div>
<img id="project-icon" src="images/transparent_1x1.png" class="ui-state-default" alt="">
<input id="project">
<input type="hidden" id="project-id">
<p id="project-description"></p>
</body>
</html>
jQuery UI自动完成-自定义数据和显示
#项目标签{
显示:块;
字体大小:粗体;
边缘底部:1米;
}
#项目图标{
浮动:左;
高度:32px;
宽度:32px;
}
#项目说明{
保证金:0;
填充:0;
}
$(函数(){
var项目=[
{
值:“jquery”,
标签:“jQuery”,
desc:“写得少,做得多,JavaScript库”,
图标:“jquery_32x32.png”
},
{
值:“jquery ui”,
标签:“jQueryUI”,
desc:“jQuery的官方用户界面库”,
图标:“jqueryui_32x32.png”
},
{
值:“sizzlejs”,
标签:“Sizzle JS”,
desc:“一个纯JavaScript CSS选择器引擎”,
图标:“sizzlejs_32x32.png”
}
];
$(“#项目”).autocomplete({
最小长度:0,
资料来源:项目,
焦点:功能(事件、用户界面){
$(“#项目”).val(ui.item.label);
返回false;
},
选择:功能(事件、用户界面){
$(“#项目”).val(ui.item.label);
$(“#项目id”).val(ui.item.value);
$(“#项目说明”).html(ui.item.desc);
$(“#项目图标”).attr(“src”、“images/”+ui.item.icon);
返回false;
}
})
.autocomplete(“实例”)。\u renderItem=函数(ul,项){
返回$(“”)
.append(“+item.label+”
“+item.desc+”)
.附录(ul);
};
});
选择一个项目(键入“j”作为开始):
从我的观点来看,这是可能的。这样,您就不必在自动完成功能中发布ajax表单。首先,像往常一样从MySQL数据库检索数据。
接下来,将这些数据存储在javascript
var
中。
最后,您可以使用
var
自动完成文本框 过滤器呢。如果我只调用availableTags数组作为源,availableTags[0]='asd | 156 | STF01',availableTags[1]='nsd | 056 | STF02',availableTags[2]='sad | 106 | STF03',每个数组都包含其他不用于筛选的细节,自动完成只筛选数组的第一部分,这是清楚的!!