我有以下自动完成脚本,通过输入至少1个字符到搜索输入工作。
<!-- Autocomplete search -->
$('#autocomplete_game_search').click(function () {
$( "#autocomplete_game_search" ).autocomplete({
source: function( request, response ) {
// Fetch data
$.ajax({
url:"{{route('autocomplete-game-search')}}",
type: 'post',
dataType: "json",
data: {
search: request.term
},
success: function( data ) {
response( data );
}
});
},
// minLength: 1,
select: function (event, ui) {
return false;
}
}).data('ui-autocomplete')._renderItem = function(ul, item){
return $("<li class='ui-autocomplete-row'></li>")
.data("item.autocomplete", item)
.append(item.label)
.appendTo(ul);
};
}
我想通过显示一个默认的搜索结果来改进这个搜索,点击空输入,然后删除所有的搜索文本。
此外,我需要通过单击搜索输入来显示搜索输入中现有文本的搜索结果。现在如果我搜索一个文本,在输入外单击,然后再次在输入中单击,以前的搜索将不会再次显示,我必须先键入更多文本或删除文本。
我能够用以下代码捕获“使用现有文本单击事件”和“空输入单击事件”:
<!-- Autocomplete search -->
$('#autocomplete_game_search').click(function () {
var clicksearch = 0;
$( "#autocomplete_game_search" ).autocomplete({
source: function( request, response ) {
clicksearch = 1;
// Fetch data
$.ajax({
url:"{{route('autocomplete-game-search')}}",
type: 'post',
dataType: "json",
data: {
search: request.term
},
success: function( data ) {
response( data );
}
});
},
// minLength: 1,
select: function (event, ui) {
return false;
}
}).data('ui-autocomplete')._renderItem = function(ul, item){
return $("<li class='ui-autocomplete-row'></li>")
.data("item.autocomplete", item)
.append(item.label)
.appendTo(ul);
};
// Ajax search on click or full delete
if(clicksearch === 0){
// Check if search text available
var term = $("#autocomplete_game_search").val();
// Ajax search on click previous search text
if(term !== ''){
$.ajax({
url:"{{route('autocomplete-game-search')}}",
type: 'post',
dataType: "json",
data: {
search: term
},
success: function( data ) {
alert('click on text');
}
});
}
else{
// Ajax search on empty search text
$.ajax({
url:"{{route('autocomplete-game-search')}}",
type: 'post',
dataType: "json",
data: {
search: ''
},
success: function( data ) {
alert('empty text')
}
});
}
}
}
我现在的问题是,我不知道如何在我编写警报的地方触发自动完成。我已经尝试了很多方法,但是我找不到使用ajax调用中的“数据”调用autocomplete的正确语法。
您可以使用bind
这样的事件. bind('焦点',函数(){$(this).自动完成("搜索"); } );
试试代码。
$('#autocomplete_game_search').click(function () {
var clicksearch = 0;
$( "#autocomplete_game_search" ).autocomplete({
source: function( request, response ) {
clicksearch = 1;
// Fetch data
$.ajax({
url:"{{route('autocomplete-game-search')}}",
type: 'post',
dataType: "json",
data: {
search: request.term
},
success: function( data ) {
response( data );
}
});
},
// minLength: 1,
select: function (event, ui) {
return false;
}
}).bind('focus', function(){
$(this).autocomplete("search");
}).data('ui-autocomplete')._renderItem = function(ul, item){
return $("<li class='ui-autocomplete-row'></li>")
.data("item.autocomplete", item)
.append(item.label)
.appendTo(ul);
};
// Ajax search on click or full delete
if(clicksearch === 0){
// Check if search text available
var term = $("#autocomplete_game_search").val();
// Ajax search on click previous search text
if(term !== ''){
$.ajax({
url:"{{route('autocomplete-game-search')}}",
type: 'post',
dataType: "json",
data: {
search: term
},
success: function( data ) {
alert('click on text');
}
});
}
else{
// Ajax search on empty search text
$.ajax({
url:"{{route('autocomplete-game-search')}}",
type: 'post',
dataType: "json",
data: {
search: ''
},
success: function( data ) {
alert('empty text')
}
});
}
}
}
本文向大家介绍jQuery实现用户输入自动完成功能,包括了jQuery实现用户输入自动完成功能的使用技巧和注意事项,需要的朋友参考一下 利用jQuery UI中Auto-complete插件实现输入自动完成功能,大家在使用诸如淘宝、京东等电商平台搜索商品时,往往只要输入商品的一些特殊字符,就可以显示出和该字符相近的列表菜单,用户使用鼠标或者键盘方向键就可以快速选择,实现了很好的用户体验。 1.最简
我试图清除一个输入的值取决于它是否找到一个id如果它找到一个现有的id js更新的值的输入但如果它不保持最后一个找到但我需要有明确的值,有人能告诉我怎么了吗:
第一个帖子!和一个java的noob*随便! 我知道有很多关于这个话题的帖子,我已经读过了…我就是解决不了。 我有一个非常简单的HTML表单,有静态输入和动态创建的输入。 HTML自动完成 HTML表单 null AddInput.js 所以问题很简单…给定这些代码,我如何在每个新生成的输入中实现自动完成。 事先多谢。
问题内容: 这可能是一个愚蠢的问题,但是由于找不到答案,我不得不提出这个问题。 在交互式python中,我想处理一条消息: 一切正常,但是…如何阻止它获取输入并将其保存到message变量中?使用ctrl + c停止将停止整个过程,因此没有输入要保存在任何地方。我想我找不到一个简单的答案… 问题答案: 对于基于Unix的系统: 您好,您可以录音: 通过发送EOF关闭标准输入(stdin)。 范例:
问题内容: 但它不起作用,如何设置默认值? 问题答案: 日期应采用格式。一位数的日期和月份应填充0。一月是01。 从文档中: 代表日期的字符串。 值:RFC3339中定义的有效完整日期,另外具有年份部分为四位或更多位数字表示大于0的数字的资格。 您的代码应更改为:
我在组件中有输入: 模板是: 问题是,如果< code >申请人没有对象< code >代表,申请就会失败。 如果没有,如何设置默认值? 这样地: 我需要始终有< code >类型的< code >代表。 这里还介绍了如何避免错误: