0

我将 xVal 与 jquery.validate 插件结合使用,但遇到了一个小问题,因为它在某个实例中两次发布验证消息。我认为这个错误应该很容易通过一些巧妙的 jQuery 在错误消息的位置上修复。

我试图找到一种方法来查看 ul 是否已经包含一个 li ,其中包含一些文本。

errorPlacement: function(error, element) {
     $("ul.errors:not(:contains(" + error + "))").append(error);
}

我认为像上面这样的东西可能会起作用,但不是那么幸运。error.toString() 也不起作用。

任何帮助将不胜感激。

4

3 回答 3

1

看一下:has选择器:

$("ul:has(li:contains('" + error + "'))")

上面的选择器将选择UL具有LI包含error文本的元素的元素。

于 2009-08-17T07:15:20.443 回答
0

这里没有那个插件,我不知道获取错误文本的适当属性是什么,但你可以使用Firebug来做 a console.logoferror并查看它是什么。

您还需要在字符串周围加上引号。

$("ul.errors:not(:contains('" + errorString + "'))")

...并且不要忘记对错误消息中的任何单引号进行转义!

于 2009-08-17T07:06:30.897 回答
0

error的代码中有什么?
首先你把它称为一个字符串:contains(" + error + "),然后你把它称为一个元素- .append(error);
如果这是一个元素,请尝试使用 获取其文本$(error).text(),并在 ul 中搜索文本。

于 2009-08-17T07:28:41.570 回答