我正在开发一个表单,并使用jQuery UI Autocomplete.当用户选择一个选项时,我希望选择弹出一个附加到父<p>标签的范围.然后我希望字段清除而不是填充选择.
我的跨度看起来很好,但是我无法清除这个领域.
如何取消jQuery UI Autocomplete的默认选择操作?
这是我的代码:
var availableTags = ["cheese", "milk", "dairy", "meat", "vegetables", "fruit", "grains"];
$("[id^=item-tag-]").autocomplete({
source: availableTags,
select: function(){
var newTag = $(this).val();
$(this).val("");
$(this).parent().append("<span>" + newTag + "<a href=\"#\">[x]</a> </span>");
}
});
Run Code Online (Sandbox Code Playgroud)
简单地做$(this).val("");就行不通.令人抓狂的是,如果忽略自动完成功能,几乎所有功能都能正常工作,只需在用户输入逗号时执行操作:
$('[id^=item-tag-]').keyup(function(e) {
if(e.keyCode == 188) {
var newTag = $(this).val().slice(0,-1);
$(this).val('');
$(this).parent().append("<span>" + newTag + "<a href=\"#\">[x]</a> </span>");
}
});
Run Code Online (Sandbox Code Playgroud)
真正的最终结果是使自动完成功能可以进行多项选择.如果有人对此有任何建议,欢迎他们.
我可能是个白痴,但你如何在jQuery UI的手风琴中保持多个部分?演示一次只有一个开放...我正在寻找一个可折叠的菜单类型系统.
由于某种原因,我的可排序项目的占位符大约是10px.我所有的可排序项目都有不同的高度.如何更改每个占位符的高度以匹配要移动的项目?
我想将我从id获得的值转换为数字并添加一个,然后将新值传递dosomething()给要使用的函数.当我尝试这个并且价值是1时我得到的回报11而不是2.
$('.load_more').live("click",function() { // When user clicks
var newcurrentpageTemp = $(this).attr("id") + 1;// Get id from the hyperlink
alert(parseInt(newcurrentpageTemp));
dosomething();
});
Run Code Online (Sandbox Code Playgroud) 我添加了两个jQuery UI Dropdown Autocomplete脚本.现在我希望获得第二个下拉列表的值,并希望单独存储在变量中.怎么可能?
任何想法或建议?谢谢.
我的小提琴: 样品
我的JS代码:
(function($) {
$.widget("ui.combobox", {
_create: function() {
var self = this,
select = this.element.hide(),
selected = select.children(":selected"),
value = selected.val() ? selected.text() : "";
var input = this.input = $("<input>").insertAfter(select).val(value).autocomplete({
delay: 0,
minLength: 0,
source: function(request, response) {
var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
response(select.children("option").map(function() {
var text = $(this).text();
if (this.value && (!request.term || matcher.test(text)))
return {
label: text.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + $.ui.autocomplete.escapeRegex(request.term) + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>"),
value: text,
option: this
}; …Run Code Online (Sandbox Code Playgroud) 在你指出我之前,是的,我已经回顾了关于这个主题的六个帖子,但我仍然因为这不起作用而受到阻碍.
我的目标是检测自动完成何时产生0结果.这是代码:
$.ajax({
url:'sample_list.foo2',
type: 'get',
success: function(data, textStatus, XMLHttpRequest) {
var suggestions=data.split(",");
$("#entitySearch").autocomplete({
source: suggestions,
minLength: 3,
select: function(e, ui) {
entityAdd(ui.item.value);
},
open: function(e, ui) {
console.log($(".ui-autocomplete li").size());
},
search: function(e,ui) {
console.log("search returned: " + $(".ui-autocomplete li").size());
},
close: function(e,ui) {
console.log("on close" + $(".ui-autocomplete li").size());
$("#entitySearch").val("");
}
});
$("#entitySearch").autocomplete("result", function(event, data) {
if (!data) { alert('nothing found!'); }
})
}
});
Run Code Online (Sandbox Code Playgroud)
搜索本身工作正常,我可以得到没有问题的结果.据我了解,我应该能够使用自动完成("结果")处理程序拦截结果.在这种情况下,它根本不会发射.(即使是不引用结果数量的通用警报或console.log也不会触发).open事件处理程序显示正确的结果数(当有结果时),search和close事件处理程序报告结果总是落后一步.
我觉得我错过了一些显而易见的东西,但我只是看不到它.
是否可以在使用jQuery加载表单后5秒自动隐藏网页中的元素?
基本上,我有
<div id="successMessage">Project saved successfully!</div>
Run Code Online (Sandbox Code Playgroud)
我想在5秒后消失.我已经看过jQuery UI和隐藏效果,但是我有点麻烦让它以我想要的方式工作.
<script type="text/javascript">
$(function() {
function runEffect() {
var selectedEffect = 'blind';
var options = {};
$("#successMessage").hide(selectedEffect, options, 500);
};
$("#successMessage").click(function() {
runEffect();
return false;
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
我想删除click函数并添加一个在5秒后调用runEffect()的超时方法.
很多格拉西亚斯!
当您使用JavaScript添加拖放到网页时,例如jQuery UI draggable和droppable,当通过移动设备上的浏览器查看时,如何使其工作 - 拖动的触摸屏操作被拦截手机滚动页面等?
欢迎所有解决方案......我最初的想法是:
有一个移动设备按钮,可以"提升"要拖动的项目,然后让他们单击要放置项目的区域.
编写一个应用程序,为移动设备执行此操作,而不是尝试让网页上的工作!
请您提出建议和意见.
我在我的Web应用程序中使用jquery,我需要将更多jquery脚本文件加载到单个页面中.
谷歌建议我将所有jquery脚本文件合并到一个文件中.
我怎样才能做到这一点?
有人可以帮助我理解为什么这有用,何时使用它?
$( "#sortable" ).disableSelection();
Run Code Online (Sandbox Code Playgroud)