让Parsley 2.x正确使用Bootstrap 3

Fen*_*kso 18 javascript jquery twitter-bootstrap parsley.js twitter-bootstrap-3

我使用Twitter Bootstrap 3.1.1Parsley v2.0.0-rc3.我做的主要是除了classHandler选项之外的工作.

我有这样的HTML:

<div class="form-group">
    <label class="control-label" for="username">User Name</label>
    <input class="form-control" id="username" name="username" required="" type="text" value="">   
</div>
Run Code Online (Sandbox Code Playgroud)

像这样运行欧芹:

$("#register_form").parsley({
    successClass: "has-success",
    errorClass: "has-error",
    classHandler: function(el) {
        return $(el).closest(".form-group");
    },
    errorsWrapper: "<span class='help-block'></span>",
    errorTemplate: "<span></span>"
});
Run Code Online (Sandbox Code Playgroud)

一切正常,但成功/错误类应用于错误的元素.页面加载后,我得到这个:

<div class="form-group">
    <label class="control-label" for="username">User Name</label>
    <input class="form-control" id="username" name="username" required="" type="text" value="" data-parsley-id="5043">
    <span class="help-block" id="parsley-id-5043"></span>
</div>
Run Code Online (Sandbox Code Playgroud)

验证后,结果如下:

<div class="form-group">
    <label class="control-label" for="username">User Name</label>
    <input class="form-control has-error" id="username" name="username" required="" type="text" value="" data-parsley-id="5043">
    <span class="help-block filled" id="parsley-id-5043">
        <span class="parsley-required">This value is required.</span>
    </span>
</div>
Run Code Online (Sandbox Code Playgroud)

但是,我期待一些不同的东西:

<div class="form-group has-error">
    <label class="control-label" for="username">User Name</label>
    <input class="form-control" id="username" name="username" required="" type="text" value="" data-parsley-id="5043">
    <span class="help-block filled" id="parsley-id-5043">
        <span class="parsley-required">This value is required.</span>
    </span>
</div>
Run Code Online (Sandbox Code Playgroud)

我已经验证使用alert该功能运行.但我是jQuery和JavaScript的新手,所以我不知道如何进一步调试它并修复它.

use*_*501 31

你应该试试:

classHandler: function(el) {
    return el.$element.closest(".form-group");
}
Run Code Online (Sandbox Code Playgroud)

el是来自欧芹的对象(我已经使用chrome dev控制台看到它)并且他有一个带有JQuery元素的$ element字段:)