我刚刚通过jquery创建了一个自动补全的文本框,现在我遇到了两个问题。
1)我需要从Autocomplete列表中获取所选项目的值。
到目前为止,我做了这些..
我的jquery
$(document).ready(function(){
$("#tag").autocomplete("autocomplete.php", {
selectFirst: true
});
});我正在从数据库中获取自动补全列表,它工作正常,但问题是
2)当我键入'r‘时,所有带有值的名称都会被填充,如果我从列表中选择了say Robin,并试图用警告来显示它,我只得到了'r',(我只键入r,并从列表中选择了'robin’)为什么会这样?
下面是我为此编写的代码
对于“自动完成”文本框
<input name="tags" type="text" id="tag" value="" onchange= "newfn()" />在newfn()中
<script>
function newfn()
{
authname = document.getElementById("tag").value;
document.autoquote.qid.value=authname;
alert(authname);
}
</script>如果我一开始就发出警报说
alert("Hi");然后,我得到了第一个警报说你好,我得到的是robin而不是r
那么,从自动补全列表中获取我选择的值的正确方法是什么?
现在我的第二个问题是从这个自动完成文本框中选择的值,我需要将它与另一个jquery一起传递给另一个php页面,这样我就可以在那里获得这个值,并在查询中给出它作为一个条件。
发布于 2014-04-25 13:37:59
您可以像这样使用自动完成的select属性
$("#tag").autocomplete('autocomplete.php', {
selectFirst: true,
select: function (event, ui) {
var label = ui.item.label;
var value = ui.item.value;
alert(label);
alert(value)
// you can write additional javascript code here to make use of these values
}
});有关更多示例和信息,请查看jQuery UI documentation。
这是一个源属性。(请注意,小提琴中添加了一个额外的属性,以模拟数据集的加载,因为实际的跨域AJAX调用是不允许的)
发布于 2014-04-25 13:38:33
因为这不是捕获select事件http://api.jqueryui.com/autocomplete/#event-select的方法:
$(document).ready(function(){
$("#tag").autocomplete("autocomplete.php", {
selectFirst: true,
select: function( event, ui ) {
//Then use "ui" object, for example ui.item.label or ui.item.value
}
});
});发布于 2014-04-25 13:44:44
$(".autosearch-smart").autocomplete('autocomplete.php', {
select: function( event, ui ) {
// here you can get id and values from the autocomplete list
// try to debug
console.log(ui.item.id);
console.log(ui.item.label);
console.log(ui.item.value);
}
});https://stackoverflow.com/questions/23284846
复制相似问题