1

jQuery Validation Pluginを使用しerrorElementていますが、エラーのある要素のタイプに基づいて動的に判断できるようにしたいと考えています。私はあなたがerrorElementそうすることができることを知っています:

$("form").validate({
    errorElement: "div"
});

errorElementただし、タイプがチェックボックスまたはラジオボタンの場合は、 anを作成できるように変更できるようにしたいと思いますli。誰もこれを行う方法を知っていますか? ありがとう!

4

1 に答える 1

8

プラグインのコードを見ていますが、errorElementオプションはパラメーターとして要素を探しているだけです。にはコールバック関数がないためerrorElement、プラグイン自体を変更せずに要求を達成する直接的な方法はありません。

errorPlacement代わりにコールバックで何かできるかもしれません。

labelそのままにして、他のコンテナでラップするとしましょう。または、コンテナ内で動的に使用しながら、errorElementそれらをすべて 内に配置するために使用します。jQueryを参照してください。<span>errorPlacementwrap.wrap()

    errorElement: 'span',
    errorPlacement: function (error, element) {
        var type = $(element).attr("type");
        if (type === "radio") {
            // custom placement
            error.insertAfter(element).wrap('<li/>');
        } else if (type === "checkbox") {
            // custom placement
            error.insertAfter(element).wrap('<li/>');
        } else {
            error.insertAfter(element).wrap('<div/>');
        }
    },

デモ: http://jsfiddle.net/uLH4f/

于 2013-03-04T06:38:25.880 に答える