我一直在试图让jQuery UI Autocomplete输出自定义HTML.这是我的代码.
$(document).ready(function(){
$.widget( "custom.catcomplete", $.ui.autocomplete, {
_renderMenu: function( ul, items ) {
var self = this,
currentCategory = "";
$.each( items, function( index, item ) {
if ( item.category != currentCategory ) {
ul.append( "<li class='ui-autocomplete-category'>" + item.category + "<ul class='autocomplete-category'></ul></li>" );
currentCategory = item.category;
}
self._renderItem( ul, item);
});
}
});
var data = [
{ label: "anders", category: "Antigen" },
{ label: "andreas", category: "Antigen" },
{ label: "antal", category: "Antigen" },
{ label: "annhhx10", category: …Run Code Online (Sandbox Code Playgroud) javascript jquery jquery-ui autocomplete jquery-ui-autocomplete
我们有一个简单的问题.我可以为jquery ui滑块添加文本最小/最大值,滚动时是否显示数字?下面是一个示例,最大值的左侧滑块具有"无限制",当您滚动它时,会出现数字.
我有一个表单,用户可以继续将项目添加到列表中.当他们提交此页面时,我想验证此列表中是否包含其中的项目(而不是单个项目,因为它们已经过验证).每个项目都被添加到表格中的新行,其中TR具有"action"的额外属性...所以它看起来像:
<tr action="whatever">...</tr>
Run Code Online (Sandbox Code Playgroud)
我试图做的是添加一个自定义的addMethod,它调用一个函数,该函数将操作的行数计为属性:
$("#tableID").find("tr[action]").length
Run Code Online (Sandbox Code Playgroud)
如果该长度大于0,则返回true,否则返回false.
这在验证器调用之外工作正常但由于某种原因它完全跳过它.
我真的可以使用一个示例或一些洞察如何使它验证此规则,即使它不是一个特定的表单元素.
按比例缩小的代码:
*请注意,我已经设置了默认消息,而不是.
$.validator.addMethod("validProductList", function (value, element) {
return this.optional(element) || validateProductList();
}, "You have no products in your list");
$("#processForm").click(function () {
$("#pageForm").validate({
submitHandler: function () {
$("#errors").hide();
//processPage();
},
rules: {
//other rules,
validProductList: true
}
});
});
function validateProductList() {
var isValid = false;
var useList = $("#tblAddedProducts").find("tr[action]").length;
if (useList > 0) { isValid = true; }
return isValid;
}
Run Code Online (Sandbox Code Playgroud) 我有一个连接到JQuery UI Autocomplete的文本框.当用户在框中输入时,我的搜索通过ajax调用运行并返回建议.似乎有三件事情可能发生:
处理上述所有情况,如何判断用户是否从自动填充中选择了一个选项?
当搜索开始(匹配=假)和选择发生(匹配=真)时,我已经研究了标记标记,但这似乎不是一种非常简洁的做事方式.
jquery jquery-ui autocomplete jquery-autocomplete jquery-ui-autocomplete
我有两个使用相当大的json对象(1.2mb)的测试用例:
source: data
Run Code Online (Sandbox Code Playgroud)
和
source: function (request, response) {
response(data);
}
Run Code Online (Sandbox Code Playgroud)
在第一种情况下,自动完成功能正如我所料.
在第二种情况下,自动完成偶尔会起作用并且非常慢.有时浏览器会在再次释放之前挂起3-4秒"没有响应".
第二种情况与第一种情况相比有何不同?
(我会在某个时候在这个函数中加入一些过滤逻辑,但是现在我正在测试这个).
我正在尝试使用jQuery自动完成功能.我已经指定了一些数据但是当我在下拉列表中选择一个项目时,它总是将值推送到元区域元素中.我想要标签.这该怎么做?试图让它在#meta-area而不是值中显示标签.
HTML:
...
area:<input type='text' size='20' id='meta-area' />
<input type='hidden' id='meta_search_ids' value='' />
...
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
$(document).ready(function(){
var data =[
{'label':'Core','value':1},
{'label':' Selectors','value':2},
{'label':'Events' ,'value':3}];
$("#meta-area").autocomplete({source:data,
select: function(e, ui) {
$("#meta_search_ids").val(ui.item.value);
// this part is not working
//$(this).val(ui.item.label);
$('#meta-area').text('this is what I want');
}
});
//alert("this loaded");
});
Run Code Online (Sandbox Code Playgroud) 
如上图所示,我只想允许用户在单击区域时拖动元素指示"允许拖动"所有其他区域不允许拖动"禁用拖动".以下是我目前拥有的代码.它工作正常只是因为我无法将多个选择器传递给取消选项.我试过传递一个对象和空格分隔的扇区,但它不起作用.我究竟做错了什么?请帮忙.
$(".e-note").draggable({
stop: function(e, ui) {
// alert(ui.position['top']);
},
cursor: 'move',
opacity: 0.4,
cancel: '.e-note-body', // How do i pass more than one selectors here?
distance:20
})
Run Code Online (Sandbox Code Playgroud) 我有一个get请求,它获取了一堆类别信息来填充a <select>.我正在使用jQuery UI Selectmenu来设置我的选择样式.
所以我的jQuery看起来有点像这样:
//Initalise the selectmenu
$("select").selectmenu({ style: 'dropdown' });
$.get("http://localhost/somedata?cat=2", function (data) {
$.each(data, function (index, itemData) {
$("<option value='" + itemData.Id + "'>" + itemData.Name + "</option>").appendTo("#selectList");
});
});
Run Code Online (Sandbox Code Playgroud)
但是这会填充<select>但不会更新jQuery UI selectmenu.我需要做些什么才能让selectmenu'重新绘制'以便新值出现在selectmenu中?
真的开始享受KnockoutJs(http://knockoutjs.com).我的大多数网络应用都是ajax驱动的.加载整个站点,然后从链接到链接我们只需通过ajax调用更改正文内容.
当ajax返回新的body内容时,我可以执行我的Knockout绑定.没问题.当我链接到下一页(只是一个更换身体的ajax调用).我认为Knockout建筑物仍然在记忆中,但由于dom已经改变,因此并没有真正受到限制.关于这个主题的一些问题.
如果下一页上没有任何Knockout,那么将淘汰对象留在内存中的那种真的很糟糕吗?更好的是有没有办法重置(清除)淘汰对象?
当我从一个具有敲除绑定的页面转到另一个具有敲除绑定的页面时,只是调用ko.applyBindings()再次清除旧的东西并重新绑定新的东西?(再一次,当我说从一个页面转到另一个页面时,我只是用ajax调用重新加载身体).
淘汰赛是否有任何"实时"绑定.有点像jQuery的实时绑定?这样就可以预先加载Knockout,然后不必将内容更改重新应用到内容更改.
一般情况下,我正在寻找关于如何在一个应用程序中从页面到页面最佳使用淘汰的建议,其中浏览器不会在页面之间刷新.
在此先感谢您的帮助.
我正在使用JQuery UI Autocomplete来快速搜索小部件.我有几个分组的项目,如酒店,城市,区域等.我可以渲染类别,但我无法链接它们.当我尝试时,ui自动完成插件会检测类似项目的类别.这不是问题,但是当我使用向上/向下箭头或使用鼠标聚焦它们时,它会返回如下错误:
"TypeError: item is undefined. this.liveRegion.text( item.value );"
我怎样才能解决这个问题?我尝试使用JQuery UI Autocomplete的"焦点"事件与几种方法(如' return false,e.stopPropagation或e.preventDefault'),但它不起作用
这是我的代码:
$.widget("custom.catcomplete", $.ui.autocomplete, {
_renderMenu: function (ul, items) {
var searchkey = "";
var itemtype = "";
var searchtype = "";
var self = this, currentCategory = "";
$.each(items, function (index, item) {
if (typeof item.kelime != 'undefined') { searchkey = item.kelime; }
if (item.category != currentCategory) {
if (item.category == "Bölge" || item.category == "?ehir") {
itemtype = "cat-bolgeler"; …Run Code Online (Sandbox Code Playgroud) jquery ×8
jquery-ui ×8
autocomplete ×4
ajax ×1
draggable ×1
javascript ×1
knockout.js ×1
max ×1
memory-leaks ×1
min ×1
slider ×1
validation ×1