Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我需要从mysql数据库中获取数据,并将其放入json数组,然后使用json数组自动完成textbox_Php_Mysql_Arrays_Json - Fatal编程技术网

Php 我需要从mysql数据库中获取数据,并将其放入json数组,然后使用json数组自动完成textbox

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 !=

我需要从mysql数据库获取数据,并将其放入json数组,然后使用json数组自动完成textbox。我可以使用单独的php从db加载数据,并在ajax中使用它。。但我正试图用一个php文件来实现这一点。。这可能吗。。如何做到这一点

<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',每个数组都包含其他不用于筛选的细节,自动完成只筛选数组的第一部分,这是清楚的!!