如何在 JavaScript 函数中访问二维数组的值(由 php 文件在 jquery 自动完成中返回)?
How to access values of 2d array (returned by php file in jquery autocomplete) in JavaScript Function?
我觉得很简单,但我无法解决。
这是JQuery:
$( "#tut_search" ).autocomplete({
minLength: 2,
source: "PHP_Code/MyAjax.php?page=tut_search_ac"
});
这是 php 脚本,它将二维数组返回给 JQuery 自动完成:
$keyward = $_REQUEST['term'];
$query = "SELECT title FROM tutorial WHERE title LIKE '%$keyward%' ORDER BY title";
$rs = mysql_query($query) or die(mysql_error()." in query $query");
if($rs)
{
while($row = mysql_fetch_array($rs))
{
$contents[] = array( "label" => $row['id'], "value" => $row['title'], "detail" => $row['text'] );
}
}
echo json_encode($contents);
这是我自己创建的 JavaScript 函数。我想在点击每个自动完成列表项时调用它:
//This function should be called when autocomplete list item is clicked or selected
function loader(label, value)
{
//Here I want to perform processing on `label` which is actually an id & returned by php script
//Here I want to perform processing on `value` which is also returned by php script
}
这是我的两个要求:
- 我想在任何时候调用函数
loader(label, value)
单击或选择了自动完成列表的项目。
- 我还想在
loader(laber, value)
函数中访问 label
和 value
的值。
(label
和 value
是两个独立的值
我在 php 脚本中返回了)。
请给我一些解决上述两个任务的方法。
提前致谢。
使用 jQueryUI Autocomplete 的 select 属性 来调用您的函数。
// on autocomplete initialization
$( "#tut_search" ).autocomplete({
minLength: 2,
source: "PHP_Code/MyAjax.php?page=tut_search_ac",
select: function(event,ui){}
});
// or after initialization
$( "#tut_search" ).on( "autocompleteselect", function( event, ui ) {} );
您可以从 ui.item.label
和 ui.item.value
访问 label 和 value 属性也就是说我会在 function(event,ui) 中调用您的函数{//here}并从那里传入参数
我觉得很简单,但我无法解决。
这是JQuery:
$( "#tut_search" ).autocomplete({
minLength: 2,
source: "PHP_Code/MyAjax.php?page=tut_search_ac"
});
这是 php 脚本,它将二维数组返回给 JQuery 自动完成:
$keyward = $_REQUEST['term'];
$query = "SELECT title FROM tutorial WHERE title LIKE '%$keyward%' ORDER BY title";
$rs = mysql_query($query) or die(mysql_error()." in query $query");
if($rs)
{
while($row = mysql_fetch_array($rs))
{
$contents[] = array( "label" => $row['id'], "value" => $row['title'], "detail" => $row['text'] );
}
}
echo json_encode($contents);
这是我自己创建的 JavaScript 函数。我想在点击每个自动完成列表项时调用它:
//This function should be called when autocomplete list item is clicked or selected
function loader(label, value)
{
//Here I want to perform processing on `label` which is actually an id & returned by php script
//Here I want to perform processing on `value` which is also returned by php script
}
这是我的两个要求:
- 我想在任何时候调用函数
loader(label, value)
单击或选择了自动完成列表的项目。 - 我还想在
loader(laber, value)
函数中访问label
和value
的值。
(label
和value
是两个独立的值 我在 php 脚本中返回了)。
请给我一些解决上述两个任务的方法。
提前致谢。
使用 jQueryUI Autocomplete 的 select 属性 来调用您的函数。
// on autocomplete initialization
$( "#tut_search" ).autocomplete({
minLength: 2,
source: "PHP_Code/MyAjax.php?page=tut_search_ac",
select: function(event,ui){}
});
// or after initialization
$( "#tut_search" ).on( "autocompleteselect", function( event, ui ) {} );
您可以从 ui.item.label
和 ui.item.value
访问 label 和 value 属性也就是说我会在 function(event,ui) 中调用您的函数{//here}并从那里传入参数