2009-08-17 15 views
0

jquery.validateプラグインでxVal combindを使用していますが、特定のインスタンスで検証メッセージを2回ポストしているという点でわずかな問題があります。私は、このバグは、エラーメッセージの配置にいくつかの巧妙なjQueryでかなり簡単に修正されるべきだと思います。要素にjQueryの別の要素が含まれているかどうかを確認する方法

ulに何らかのテキストが含まれているliが既に含まれているかどうかを調べる方法を探しています。

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

私は上記のようなものはうまくいくと思っていましたが、そのような運はありません。 error.toString()も機能しません。

ご協力いただければ幸いです。

答えて

0

このプラグインをお持ちでない場合、適切なプロパティでエラーテキストを取得することはできませんが、Firebugを使用してconsole.logerrorを実行し、その内容を確認してください。

また、文字列の前後に引用符を付ける必要があります。

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

...エラーメッセージの一重引用符でエスケープすることを忘れないでください!上記セレクタはerrorテキストが含まれているLI要素を持っているUL要素を選択します

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

+0

ええ、私はちょうど今答えを実現し、変更しました。 :) – nickf

1

:hasセレクタの外観を与えます。

0

コードにerrorとは何ですか?
まず、それを文字列:contains(" + error + ")と呼んでいますが、それを要素 - .append(error);と呼んでいます。
これが要素の場合は、$(error).text()を使用してテキストを取得し、ul内のテキストを検索してください。

関連する問題