使用PHP的JQuery向量

使用PHP的JQuery向量,php,jquery,Php,Jquery,这是我的JQuery代码 问题:如何使用PHP创建编程语言的矢量 更新: jquery $( "#autocomplete" ).autocomplete({ source: [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ] }); // this is the simple version. LOOK TO THE UPDATE!!! html 我正在寻找: php ($i=1;$i$i

这是我的JQuery代码

问题:如何使用PHP创建编程语言的矢量

更新:

jquery

  $( "#autocomplete" ).autocomplete({
    source: [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ]
  }); // this is the simple version. LOOK TO THE UPDATE!!!
html


我正在寻找:
php

($i=1;$i<$total_行;++$i)的

{
$sample_return[]=array(“id”=>$i,“label”=>$ar1[$i],“value”=>$ar2[$i]);
}

您应该
json\u编码它:

   for($i = 1; $i < $total_rows; ++$i) 
   {
      $sample_return[] = array("id"=>$i,"label"=>$ar1[$i],"value"=>$ar2[$i]);
   }
但请不要将其注入js代码,而是这样做:

$langs = array( "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby");

echo json_encode($langs); // this will produce the desired output

通过这种方式,您可以将JS代码与数据源分离。

您可以使用将任何变量从PHP输出到JavaScript(不包括资源)

在这种情况下:

$( "#autocomplete" ).autocomplete({
  source: $.parseJSON($('#langs').text());
});
来源:

这里是我放在一起的一个快速示例,它显示了您真正想要做的事情(最终),最好使用ajax查询一个“feeder文件”,该文件将用作自动完成
源代码:

而不是将/echo所有值直接呈现到页面中:

source: <?php echo json_encode(Array("c++","java"...)); ?>
=2){
//在这里,您可以使用LIKE%查询数据库中的值
$sample\u return=数组(
数组('id'=>1,'label'=>C++,'value'=>C'),
数组('id'=>2,'label'=>Java','value'=>Java'),
数组('id'=>3,'label'=>PHP','value'=>PHP'),
数组('id'=>4,'label'=>JavaScript','value'=>JavaScript'),
数组('id'=>5,'label'=>ASP','value'=>ASP'),
数组('id'=>6,'label'=>Ruby','value'=>Ruby'),
);
//繁荣
模具(json_编码($sample_return));
}
}
?>
无标题文件
$(函数(){
$(“#自动完成”)。自动完成({
来源:“autocomplete.php”,
最小长度:2,
选择:功能(事件、用户界面){
警报('Do something with:ID:'+ui.item.ID+'名称:'+ui.item.label+'值:'+ui.item.VALUE');
}
});
});
我正在寻找:

在这种情况下,“向量”到底是什么?你的意思是想用动态加载的PHP脚本而不是JavaScript中的静态列表来填充自动完成列表吗?我指的是数组,这样称呼它很正常。感谢接受,很高兴它有帮助。发布了一个更新,因为虽然它解决了我的问题,但它并没有解决一般的问题。(无更新)
<script type="application/json" id="langs">
   <?php echo json_encode($langs); ?>
</script>    
$( "#autocomplete" ).autocomplete({
  source: $.parseJSON($('#langs').text());
});
source: <?php echo json_encode(Array("c++","java"...)); ?>
<?php 
//Check request is from a ajax request
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest'){
    //check the term passed to this php from jquery autocomplete 
    if(!empty($_GET['term']) && strlen(trim($_GET['term'])) >= 2){
        //This is where you would query your db for the values using a LIKE%

        $sample_return = array(
        array('id'=>1,'label'=>"C++",'value'=>'c'),
        array('id'=>2,'label'=>"Java",'value'=>'Java'),
        array('id'=>3,'label'=>"PHP",'value'=>'php'),
        array('id'=>4,'label'=>"JavaScript",'value'=>'javascript'),
        array('id'=>5,'label'=>"ASP",'value'=>'asp'),
        array('id'=>6,'label'=>"Ruby",'value'=>'ruby'),
        );
        //boom
        die(json_encode($sample_return));
    }
}
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.0/themes/black-tie/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.0/jquery-ui.js"></script>
</head>

<body>
<script>
$(function() {
    $( "#autocomplete" ).autocomplete({
        source: "autocomplete.php",
        minLength: 2,
        select: function( event, ui ) {
            alert('Do something with: ID:' + ui.item.id + ' NAME:' + ui.item.label+' VALUE:' + ui.item.value);
        }
    });
});
</script>

<form method="POST" name="search" action="">
  <label for="autocomplete">Im looking for:</label>
  <input type="text" id="autocomplete" name="search" size="50">
  <input type="button" class="button" value="Search"/>
</form>

</body>
</html>