javascript - jQueryUI 自动完成默认文本

标签 javascript jquery jquery-ui jquery-ui-autocomplete

我有一个 jQuery 自动完成小部件,它在输入中包含一些默认的阴影文本,例如“Enter Something”http://jsfiddle.net/CwmX9/ 。用户在输入字段中输入内容并从下拉列表中选择内容后,我希望将输入返回到阴影默认文本。我几乎可以使用它,但它没有阴影。此外,理想情况下,我不必将默认文本(即“输入某些内容”)重复两次。我的脚本应该如何修改才能做到这一点?

PS。还请解释为什么有时输入值并不总是与我在输入中实际看到的字符相同。我认为这可能与我原来的问题有些相关。

<div class="ui-widget">
    <label for="tags">Tags:</label>
    <input id="tags" value="Enter Something" class="default-value" />
</div>

$('.default-value').each(function () {
    var $t = $(this),
        default_value = this.value;
    $t.css('color', '#929292');
    $t.focus(function () {
        if (this.value == default_value) {
            this.value = '';
            $t.css('color', 'black');
        }
    });
    $t.blur(function () {
        if ($.trim(this.value) == '') {
            $t.css('color', '#929292');
            this.value = default_value;
        }
    });
});

var availableTags = [
    "ActionScript",
    "AppleScript",
    "Asp",
    "BASIC",
    "C",
    "C++",
    "Clojure",
    "COBOL",
    "ColdFusion",
    "Erlang",
    "Fortran",
    "Groovy",
    "Haskell",
    "Java",
    "JavaScript",
    "Lisp",
    "Perl",
    "PHP",
    "Python",
    "Ruby",
    "Scala",
    "Scheme"];

$("#tags").autocomplete({
    source: availableTags,
    select: function (event, ui) {
        console.log(this);
        //console.log(this,$(this).val());
        $(this).val('Enter Something').blur();
        //console.log(this,$(this).val());
        return false;
    }
});

最佳答案

直接替换即可

$(this).val('Enter Something').blur();

$(this).val('').blur();

这是修改后的示例:http://jsfiddle.net/netme/beFVr/

关于javascript - jQueryUI 自动完成默认文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15639152/

相关文章:

Javascript异步加载背景图像

javascript - 增强 Jquery 拖放演示

javascript - Jquery UI 多个日期选择器选择

javascript - 什么是 !!在javascript中?

javascript - 浏览器支持 getBoundingClientRect 的宽度和高度属性吗?

javascript - Angular 5 TypeScript Bootstrap Dropdown 无法通过 JavaScript 工作

jquery click 不适用于正常功能

javascript - 比较 : x == a is true, x == b 为 true,但 a == b 为 false

javascript - 拆分字符串中的数字和字母

Javascript:将变量传递给 Promise