我做了一个jquery自动完成,它的数据来自mysql database.now我面临一个小问题。
我想在自动填充中显示产品名称,如下面的代码所示&它的工作正常。但点击提交按钮后我想插入产品ID而不是产品NAME.Below是我的代码
<?php
require_once "include/config.php";
$sql_product = "select * from tbl_product";
$res_product = mysql_query($sql_product);
?>
<script>
$(function() {
var availableTags = [
<?php
while($rs_product = mysql_fetch_array($res_product))
{
$prod_name = $rs_product['prod_name'];
?>
"<?php echo $prod_name; ?>" <?php echo ", "; ?>
<?php
}
?>
];
$( "#tags" ).autocomplete({
source: availableTags
});
});
</script>
<label for="tags">Tags: </label>
<input id="tags" />
答案 0 :(得分:0)
尝试(我假设你的表中有prod_id
列)
var availableTags = [
<?php
while($rs_product = mysql_fetch_array($res_product))
{
$prod_id[] = $rs_product['prod_id'];
}
echo json_encode($prod_id);
?>
];
使用json_encode
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以将您的值传递给availableTags源,格式如下:
[{label:"Prod Name 1", value:1}, {label:"Prod Name2", value:2}]
创建隐藏的输入元素,例如
<input type="hidden" name="hidAutoComplete" value="" />
和
$( "#tags" ).autocomplete({
source: availableTags,
select: function(event, ui) {
var selectedObj = ui.item;
$(this).val(selectedObj.label);
$('input[name="hidAutoComplete"]').val(selectedObj.value);
return false;
}
});
希望有所帮助