我的搜索栏有 JQuery UI 自动完成小部件,它对我来说很好用。基本上我想加载更多关于搜索栏结果滚动的数据,我限制了 100 个结果,比如我们从后端做的分页。
我想在滚动到结束时加载更多 100 个结果(例如在分页页面 2 中单击将显示 100 个更多结果)并附加到自动完成生成的列表中。我如何实现这一点,是否有可用的插件或一些可以帮助我的链接。我对搜索栏结果的高度为 400 像素。我用过 Jquery。
我找到了一些解决方案,但这适用于滚动到页面末尾。在这里,我有 400px 高度和滚动条的搜索结果,并希望加载更多关于滚动到最后一个 LI 的数据。
帮助将不胜感激。
我正在使用带有远程数据源的 Jquery 自动完成,但是,有时在我的服务器中尝试搜索时会返回错误,因为我使用的是像数据源这样的休息网络服务。我想知道我的网络服务返回了什么状态代码并打印错误消息示例:
$(idObjeto).autocomplete({
source:url,
minLength: 3,
select:function(data,ui){
$(formatIdJQuery(idObjValueReceptor)).val(ui.item.id);
}
}).data( "autocomplete" )._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + item.label + " - <strong>" + item.id + "</strong></a>" )
.appendTo( ul );
};
}
Run Code Online (Sandbox Code Playgroud)
假设我的网络服务返回状态代码 404,例如,我想获取此状态代码并调用警报窗口。
这就是所有的人!
我有一个输入字段,其中附加了一个 ajax 数据源自动完成功能。
我有一个输入字段的 keyup 处理程序,它会查找按下 Enter 的人,当他们这样做时会触发对搜索按钮的点击,ajax 会在另一个 div 中加载一些数据。
问题是,如果这个人快速输入并按下回车键,自动完成仍然会弹出。
我尝试了以下方法:
添加$('#autocomplete').autocomplete('close'). 这不起作用,大概是因为自动完成尚未打开。如果我输入,等待自动完成出现,然后按回车键,它会正确关闭它。
添加$('#autocomplete').autocomplete('destroy'). 这有效,但如果我回到现场尝试另一次搜索,自动完成不再有效。
所以我想要的是一种取消任何挂起的请求并关闭自动完成(如果它打开)但不禁用或破坏它的方法。
编辑:代码示例(不是我真正的代码,只是用来演示问题的存根)。文件名是scratch.php
<?php
// Stub for search results
if ($_GET['search'])
{
print "Search results for ".$_GET['search']." here";
exit();
}
// Simulated DB search
if ($_GET['term'])
{
print '[{"label":"A 1"},{"label":"A 2"},{"label":"A 3"},{"label":"A 4"}]';
exit();
}
?>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/ui/1.10.1/jquery-ui.js"></script>
<link type="text/css" href="http://code.jquery.com/ui/1.10.1/themes/redmond/jquery-ui.css" rel="stylesheet" />
<script language='javascript'>
$(document).ready(function() {
$('#searchfor').on('keyup',function(e) {
if (e.which == 13) $('#search').trigger('click');
});
$('#searchfor').autocomplete({ …Run Code Online (Sandbox Code Playgroud) 有没有办法停止ui jQuery自动完成如果用户离开页面查看文档在这里我看到很多东西
.autocomplete( "destroy" )
.autocomplete( "disable" )
.autocomplete( "close" )
Run Code Online (Sandbox Code Playgroud)
但是如何在用户离开现场后使用它们
$("#request_song").autocomplete({
source: function(req, add){
$.getJSON('<%= ajax_path("trackName") %>', req, function(data) {
var suggestions = data.suggestions;
add(suggestions);
});
},
change: function() {
var main = $('#main_content');
main.empty().append("<img id=\"throbber\" src='/pre_config/css/images/throbber.gif' alt='Loading. Please wait.' />");
$("#band_events").load("/load_events/"+ escape($('#request_artist').val()), successCallback );
},
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试在文本框焦点上打开一个jQuery自动完成实例,并从远程源获取数据.这里显示了我的尝试的近似值:
这样做的问题是,当您从下拉列表中选择一个值时,您会注意到对文本框焦点方法的额外调用.我无法找到防止这种额外呼叫的方法,因为它干扰了功能.
有没有更好的方法去做我想要实现的目标?
我是jQuery和JSON的新手,花了好几个小时但仍然没有解决问题
来自服务器的JSON有效,通过jsonlit.com检查但它仍然显示所有数据(未过滤).
来自serverURI.asp的JSON
["A. ASRUNADI", "A. MURSYID", "A. RIFANI", "A.Z MAKMUR IS", "ABBAS", "ABDI IRWANTO"]
Run Code Online (Sandbox Code Playgroud)
我的jquery
$("#keyword").autocomplete({
source: function(request, response){
$.getJSON("serverURI.asp", function(data){
var source = data
response(source);
});
}
});
Run Code Online (Sandbox Code Playgroud)
但....当我把JSON作为var in jquery时它的作品...同时我已经在我的html元标记中使用了utf-8
$(function() {
var availableTags = ["A. ASRUNADI", "A. MURSYID", "A. RIFANI", "A.Z MAKMUR IS", "ABBAS", "ABDI IRWANTO"];
$("#keyword").autocomplete({
source: availableTags
});
});
Run Code Online (Sandbox Code Playgroud)
我的ASP(经典)生成JSON如下
dim strResultEMP
strResultEMP = "["
for strEmpCount = 0 to strTotalCountEmp
strEmpObj = split(strEmpSplit(strEmpCount), "$$$")
if strEmpCount < strTotalCountEmp then
strResultEMP = strResultEMP & …Run Code Online (Sandbox Code Playgroud) jquery jquery-ui asp-classic jquery-autocomplete jquery-ui-autocomplete
我有一个文本框,用户放入一些文本,然后会出现一个下拉列表.当用户从下拉列表中选择某些内容时,下拉列表中的文本将替换他们键入的文本.
现在,如果他们没有从下拉列表中选择任何内容,我希望此文本框能够清除.
所以基本上,文本框中唯一可以出现的文本是最终从下拉列表中选择的.我怎么做到这一点?
我试过了:
jQuery("#" + field).focusout(function() {
jQuery("#" + field).val("");
});
Run Code Online (Sandbox Code Playgroud)
但即使他们从下拉列表中选择,这仍然会清除.我会采用什么逻辑来实现这一目标?我可以设置一个变量或从列表中选择时设置为true的变量.我会在聚焦功能上检查这个吗?
JQuery的新手!
我用谷歌搜索疯狂,在这里搜索SO并尝试了很多东西,但似乎没有任何工作.
问题:
我在我的Rals4应用程序中有自动完成,问题是当我通过链接转换页面时它不起作用,但是当我刷新该页面时它可以正常工作.
js.coffescript代码是:
$(document).ready( ->
$('#exercise_element_name').autocomplete
source: $('#exercise_element_name').data('autocomplete-source')
messages: {
noResults: '',
results: ->
}
)
Run Code Online (Sandbox Code Playgroud)
我也尝试过
jQuery ->
$('#exercise_element_name').autocomplete
source: $('#exercise_element_name').data('autocomplete-source')
Run Code Online (Sandbox Code Playgroud)
和很多类似的东西,我不知道这里出了什么问题,我真的很感激帮助.
也许我需要提一下,我不使用ajax来获取自动完成列表,我在html中生成列表,并且当页面首次打开时(当自动完成不起作用时)列表就在那里,但是自动完成不起作用,只有刷新页面或写直接链接后.
因此,当通过页面上的链接转到具有自动完成text_field的页面时,它无法正常工作
我们的用户抱怨说,当他们在粘贴或在jQuery自动完成小部件中键入值后按Enter键时,表单将被提交.
当他们复制粘贴自动完成选项中存在的值以及自动完成小部件打开以显示单个值时,他们非常烦人,他们按Enter键接受该值但是在填写完所有字段之前提交表单因为(通过默认情况下,我们不想更改它)窗口小部件不会选择菜单中的第一个选项.
<form>Type C and press Enter:
<input id="autocomplete" />
<input type="submit" value="submit" />
</form>
$('form').submit(function () {
alert('You submitted the form');
return false;
});
$('#autocomplete').autocomplete({
source: ["c#", "c", "c++", "java", "php", "coldfusion"]
});
Run Code Online (Sandbox Code Playgroud)
我们如何更改单击Enter将仅关闭自动填充建议?
我有以下问题:
我必须使用由char"@"触发的jquery进行特殊的自动完成
问题是,如果我用@开始文本框,它可以工作,但如果我写了一些字符后我输入@它不起作用.
它必须如何工作:-i写一些文本我想从"utilizatoriJson"添加某人, - 从"utilizatoriJson"添加某人我必须按@键并且自动完成下拉列表必须是apear, - 之后我从下拉列表中选择某人或我从下拉列表中键入一个完整的标签,它必须放空格让我继续留言
我怎样才能做到这一点 ?
我写的代码:
var utilizatoriJson = <%=utilizatoriJson%>;
$( '#textarea_mesaj_colaborare').autocomplete({
source: utilizatoriJson
}) .autocomplete( "instance" )._renderItem = function( ul, item ) {
return $( "<li>" )
.append( "<a>" + item.label + "</a>" )
.appendTo( ul );
}
$( '#textarea_mesaj_colaborare').autocomplete("disable");
$('#textarea_mesaj_colaborare').keyup(function(){
if ($('#textarea_mesaj_colaborare').val()[$('#textarea_mesaj_colaborare').val().length-1]==='@'){
var inceput = $('#textarea_mesaj_colaborare').val().length;
$( '#textarea_mesaj_colaborare').autocomplete("enable");
}
});
Run Code Online (Sandbox Code Playgroud)