我想从自动完成
中获取所选值id这是我的代码
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script src="http://www.jqueryautocomplete.com/js/jquery/jquery.ui.core.min.js"></script>
<script src="http://www.jqueryautocomplete.com/js/jquery/jquery.ui.widget.min.js"></script>
<script src="http://www.jqueryautocomplete.com/js/jquery/jquery.ui.position.min.js"></script>
<script src="http://www.jqueryautocomplete.com/js/jquery/jquery.ui.autocomplete.min.js"></script>
<link rel="stylesheet" href="http://www.jqueryautocomplete.com/js/jquery/smoothness/jquery-ui-1.8.16.custom.css"/>
<script>
$(function() {
$( "#search" ).autocomplete(
{
source:'source.php',
})
});
</script>
<input type="text" id="search" class="ui-autocomplete-input" autocomplete="off" role="textbox" aria-autocomplete="list" aria-haspopup="true">
查询是
$req = "SELECT id,name "."FROM mytable "."WHERE name LIKE '%".$_REQUEST['term']."%' ";
答案 0 :(得分:3)
一般情况autocomplete正在查找设置为label
和value
的项目。
对于您的情况,您必须对其进行调整,因此自动填充功能会使用您的id
和name
字段。
您可以覆盖select event并使用ui.item.id
和ui.item.name
访问字段。这看起来像这样:
$( "#search" ).autocomplete(
{
source:'source.php',
select: function(event, ui) {
// handle the user selecting the entry
// access fields with ui.item.name and ui.item.id
}
})
但是,这可能会导致您的数据无法正确显示,因为默认情况下自动填充会使用label
和value
字段。
要覆盖显示行为,请实施_renderItem方法以显示您的数据。 如何执行此操作的示例可以在源代码中的examples page找到。