jquery-ui - 单击remove删除输入值,

  显示原文与译文双语对照的内容
0 0

再 有 一个 问题.

这是网站:http: //www. revewit.com/

检查左边的输入字段,这是jQueryUI自动完成工作的工作。 我想做的是放置一个占位符,在点击输入字段后,文本就会消失,并且我找不到方法。 这是我目前拥有的代码:

 <script type ="text/javascript"> (function(jQuery) {
jQuery.widget("ui.combobox", {
 _create: function() {
 var input, self = this,
 select = this.element.hide(),
 selected = select.children(":selected"),
 value = selected.val()? selected.text() :"ppp",
 wrapper = this.wrapper = jQuery("<span>").addClass("ui-combobox").insertAfter(select);
 input = jQuery("<input>").appendTo(wrapper).val(value).addClass("ui-state-default ui-combobox-input").autocomplete({
 delay: 0,
 minLength: 0,
 source: function(request, response) {
 var matcher = new RegExp(jQuery.ui.autocomplete.escapeRegex(request.term),"i");
 response(select.children("option").map(function() {
 var text = jQuery(this).text();
 if (this.value && (!request.term || matcher.test(text))) return {
 label: text.replace(
 new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + jQuery.ui.autocomplete.escapeRegex(request.term) +")(?![^<>]*>)(?![^&;]+;)","gi"),"<strong>$1</strong>"),
 value: text,
 option: this
 };
 }));
 },
 select: function(event, ui) {
 document.location.href = ui.item.option.value;
 ui.item.option.selected = true;
 self._trigger("selected", event, {
 item: ui.item.option
 });
 },
 change: function(event, ui) {
 if (!ui.item) {
 var matcher = new RegExp("^" + jQuery.ui.autocomplete.escapeRegex(jQuery(this).val()) +"$","i"),
 valid = false;
 select.children("option").each(function() {
 if (jQuery(this).text().match(matcher)) {
 this.selected = valid = true;
 return false;
 }
 });
 if (!valid) {
//remove invalid value, as it didn't match anything
 jQuery(this).val("");
 select.val("");
 input.data("autocomplete").term ="";
 return false;
 }
 }
 }
 }).addClass("ui-widget ui-widget-content ui-corner-left");
 input.data("autocomplete")._renderItem = function(ul, item) {
 return jQuery("<li></li>").data("item.autocomplete", item).append("<a>" + item.label +"</a>").appendTo(ul);
 };
 jQuery("<a>").attr("tabIndex", -1).attr("title","Show All Items").appendTo(wrapper).button({
 icons: {
 primary:"ui-icon-triangle-1-s"
 },
 text: false
 }).removeClass("ui-corner-all").addClass("ui-corner-right ui-combobox-toggle").click(function() {
//close if already visible
 if (input.autocomplete("widget").is(":visible")) {
 input.autocomplete("close");
 return;
 }
//work around a bug (likely same cause as #5265)
 jQuery(this).blur();
//pass empty string as value to search for, displaying all results
 input.autocomplete("search","");
 input.focus();
 });
 },
 destroy: function() {
 this.wrapper.remove();
 this.element.show();
 jQuery.Widget.prototype.destroy.call(this);
 }
 });
})(jQuery);
jQuery(function() {
jQuery("#combobox").combobox();
jQuery("#toggle").click(function() {
 jQuery("#combobox").toggle();
});
});
</script>​​
时间:原作者:1个回答

0 0

现代浏览器可以通过以下方式实现这里功能:

<input type="text" placeholder="foo"/>

对于旧浏览器,你可以使用这里 polyfill

编辑

你可以用jQuery来做这个,看看这个fiddle的:

$('<input/>').attr('placeholder', 'test').appendTo('body')
原作者:
...