1

我正在使用自动完成来填充文本字段。在用户输入一些文本但没有从自动完成中选择的地方,我想突出显示该文本字段。

所以在下面的jquery中;

var createAutocomplete = function () {
    var $input = $(this);

    var options = {
        source: $input.attr("data-scd-autocomplete"),
        select: updateAutocompleteForm,
        close: errorAutocompleteForm
    };

    $input.autocomplete(options);
};

如果用户未能从列表中进行选择,则会触发关闭事件,该事件会调用此函数;

   var errorAutocompleteForm = function(event, ui) {
        var $input = $(this);
        $input.removeAttr('class');
        $input.attr('class', '');
        $input.addClass("input-validation-error");
    };

所以我从文本字段中删除现有的类并插入“输入验证错误”类。但是这个类中的 CSS 没有显示出来,并且在 IE 开发者工具中它显示这个类中的 CSS 被覆盖了。如何阻止这个 CSS 被覆盖?

4

1 回答 1

0

我在我的 CSS 中发现了问题,我需要将 CSS 类与元素类型连接起来

input[type="text"].input-validation-error,
input[type="search"].input-validation-error,
input[type="password"].input-validation-error {
    border: solid 1px #e80c4d;
}

所以以前input[type="search"].input-validation-error失踪了。和班级

.input-validation-error
{
    border: 1px solid #ff0000;
    background-color: #ffeeee;
}

被忽略了。我不得不承认我不明白为什么这个答案是解决方案。因此,那些可以解释这一点的人可以使用上升刻度。

于 2013-07-08T09:03:24.157 回答