从菜单中选择项目时触发; ui.item指的是所选项目.select的默认操作是将文本字段的值替换为所选项的值.取消此事件可防止更新值,但不会阻止菜单关闭.
$("#txt1").autocomplete({
minLength: 1,
source: "abc.php",
select: function(event, ui)
{
event.preventDefault();
//alert("Select");
var label= ui.item.label;
var value= ui.item.value;
$('#txt1').val(ui.item.label);
}
});
Run Code Online (Sandbox Code Playgroud) 它在发现的第一个自动完成中正确覆盖,但对其余部分不执行任何操作.相反,它会加载原始的_renderitem方法,您可以在https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.autocomplete.js#L449上看到.
$(".someClassWithMultipleItemsOnDOM").autocomplete({
delay:500,
minLength:2,
source:path"
.....
}).data( "autocomplete" )._renderItem = function( ul, item ) {
Run Code Online (Sandbox Code Playgroud)
提前致谢
我想手动选择自动填充中的项目,并在给定值的情况下单击它.
以下代码:
autocompleteitem.autocomplete("option", "autoFocus", true).autocomplete("search", autocompleteitem.val());
Run Code Online (Sandbox Code Playgroud)
autocompleteitem是一个输入对象,它包含我想要搜索的值.现在,此代码成功从下拉列表中选择第一个项目,但它没有单击它.我不想自己点击它我希望它以某种方式在该代码中发生.
我尝试了上面代码的以下添加功能:
.click(), .select(), .trigger('select'), .find('a').click(), .change()
Run Code Online (Sandbox Code Playgroud)
有什么方法可以做到吗?
谢谢
请有人帮忙
javascript jquery jquery-autocomplete jquery-ui-autocomplete
我正在使用jquery 1.8.2和jqueryui 1.9.0库.
我试图在我的表中添加一个"编辑记录"对话框,其中包含一个jquery-ui的自动完成文本框.
我还使用自动完成的更改事件来限制用户从给定列表中选择项目.
我的问题是:当我告诉我的编辑形式,我现有的数据设置为文本框,但是当用户点击编辑表格另一个领域,改变控制器大跌眼镜没有错误发生变化.我发现有很多的样本,显示了如何设置组合框自动完成型的价值,但我无法找到一个文本框类型.请帮我解决这个问题,我相信你的答案也会对其他用户有用.
这是我的自动填充文本框的代码:
$("#EditMaterialName").autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
url: "someurl",
dataType: "json",
data: {
search_string: request.term
},
success: function (data) {
response($.map(data, function (item) {
return {
label: item.description,
value: item.description
}
}));
}
});
},
minLength: 2,
select: function (event, ui) {
},
change: function (event, ui) {
if (!ui.item) {
$('<div class="error"><b> please select a listed value.</b><div>').insertAfter('#EditMatName');
$('#EditMaterialName').val('');
}
},
open: function () {
$(this).removeClass('ui-corner-all').addClass('ui-corner-top');
},
close: function () { …Run Code Online (Sandbox Code Playgroud) 我正在寻找没有"提交"按钮的自动完成功能,但是当用户点击自动完成关键字时,他会被重定向到另一个网址,我会选择
我正在使用http://dyve.net/jquery/?autocomplete,我想在这个脚本中实现,而不是使用任何其他(因为如果我在这个中输入ODE,他会显示CODE和ODESSA)
例:
用户输入"goo"然后为他显示GOOGLE,当他点击GOOGLE时脚本将他发送到www.google.com(如"Google"=>" http://www.google.com ")
如果我能用脚本我会告诉你们我不是程序员所以我需要,代码本身,我知道它太多要问但我尝试了一切= \
谢谢!
jUI自动完成的问题是我想这样做:
如果我键入" ODE "
它会显示"C ODE "和" ODE SSA"
不仅仅是从一开始,这就是为什么我试图在另一个中使用你的代码
另外,当我使用Russ和karim79的代码时,它没有用
我希望有一些自定义自动完成功能,我认为自定义jQuery的自动完成更有意义.所以我想知道:
如何强制打开自动完成列表?$("#autocomplete").trigger('autocompleteopen');不起作用.
如何将自己的东西放到列表中?显然不是通过source选项,而是来自外部.
换句话说,从1和2,我希望有一个所有选项的列表(不受限制limit),我希望它在用户开始输入之前打开并显示所有选项,无论用户输入什么.
任何帮助,将不胜感激.
干杯
帕萨
我的PHP代码将JSON数据返回到jquery自动完成,但自动完成不起作用
Jquery自动完成
$("input#txtaddkey").autocomplete({
source: "keyword.php",
minLength: 2
});
Run Code Online (Sandbox Code Playgroud)
PHP代码
$fetch = mysql_query("SELECT * FROM o_keyword where keyword like '%" . $query . "%'");
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
$row_array['id'] = $row['id'];
$row_array['keyword'] = $row['keyword'];
array_push($return_arr,$row_array);
}
echo json_encode($return_arr);
Run Code Online (Sandbox Code Playgroud)
JSON数据输出
[{"id":"2","keyword":"Games"},{"id":"3","keyword":"Goa"}]
Run Code Online (Sandbox Code Playgroud)
在键入"Ga"时,我在前端获得空li标签.
我一直在寻找jQuery UI Autocomplete,因为我需要一个<input />但问题是我需要传递已完成名称的id.让我解释:
我有一系列名字:
$names = array(
array('name' => 'John', id => '1'),
array('name' => 'Sarah', id => '2'),
array('name' => 'Josh', id => '3)
);
Run Code Online (Sandbox Code Playgroud)
然后,使用AJAX,输入将使用数组的一个名称自动完成,但是当我提交时,我需要id而不是名称.我该如何管理?
提前致谢
jquery jquery-ui autocomplete jquery-autocomplete jquery-ui-autocomplete
我有一个使用自动完成功能实现的文本框.就这个.
<input id="txtcity" />
$("#txtcity").autocomplete({
source: function (request, response) {
$.ajax({
url: '@Url.Action("CityLookup", "PatientDemographic", "")', type: "POST", dataType: "json",
data: { searchText: request.term, maxResults: 10 },
success: function (data) {
response($.map(data, function (item) {
return { label: item.Text, value: item.Text, id: item.Value }
}))
}
})
},
select: function (event, ui) {
$("#CityCode").val(ui.item.id);
},
open: function () {
$(this).removeClass("ui-corner-all").addClass("ui-corner-top");
},
close: function () {
$(this).removeClass("ui-corner-top").addClass("ui-corner-all");
}
});
Run Code Online (Sandbox Code Playgroud)
这会返回三个结果,比如说"Apple","Banana","Cabbage".如何在渲染时将默认值设置为"Banana"?即,text ="banana"value ="2"?
我的应用程序中有一个自动完成功能,它向服务器发出ajax请求.但是,一旦我从服务器获取数据,我想使用查找功能而不是使用服务URL(以最小化对服务器的调用).
这是我的js的样子
$('#country').autocomplete({
serviceUrl : './countryCache?',
paramName : 'countryName',
transformResult : function(response) {
return {
// must convert json to javascript object before process
suggestions : $.map($.parseJSON(response), function(item) {
return {
data : item.name
};
})
};
},
showNoSuggestionNotice:true,
onSelect: function (value, data) {
$('#countryId').val(value.data);
}
});
Run Code Online (Sandbox Code Playgroud)
以下是我的ajax调用countryCache的示例 - "印度,冰岛,印度尼西亚".如果用户键入了I,则服务器将返回上面的结果.现在,当用户在I之后键入n时,我不想再次调用服务器.有人可以帮助我实现它.
javascript jquery autocomplete jquery-autocomplete jquery-ui-autocomplete