javascript - 如何停止Requiredfieldvalidator在取消点击时工作

标签 javascript jquery html twitter-bootstrap asp.net-core-mvc

我在使用必需字段验证器时遇到问题。看下面的图片

enter image description here

从上图中,当我单击添加新按钮时,将出现红色突出显示的div,如果我单击保存按钮,则构建描述按钮为显示 rfv 错误。到这里为止都还好,但是。我的问题是,当我单击取消按钮并再次单击添加新按钮时。我仍然得到如图所示的建筑物描述。

<a class="col-md-1 html5buttons" onclick="ToggleProjectAddBuilding(true)" id="Addbuildingsave">Add New</a>

<div class="col-md-8">
                                    <select asp-for="BuildingDescriptionId" class="chosen-select form-control required" asp-items="@(ViewBag.BuildingTypes)">
                                        <option value="">--Select Building Type--</option>
                                    </select>
                                    <span asp-validation-for="BuildingDescriptionId" id="Customererror" class="text-danger"></span>
                                </div>


 <div class="col-md-offset-8 col-md-9">
                                    <button id="btnSavebuilding" type="submit" class="btn btn-w-m btn-primary">Save</button>
                                    <a class="btn btn-w-m btn-warning" onclick="ToggleProjectAddBuilding(false)">Cancel</a>
                                </div>

下面是我尝试执行的功能代码:

function ToggleProjectAddBuilding(toggle) {    
    if (toggle) {
        $('#formBuilding').slideDown();
    }
    else {
        $('#formBuilding').slideUp();
        $('#buildingids').val('');
        $('#BuildingDescriptionId-error').html('');
        //$('.chosen-select').attr('data-rule-required', 'false');
        //$('BuildingDescriptionId').find('select option:eq(0)').prop('selected', true);
        //$('#BuildingDescriptionId').attr('selected', 'selected');
        //$("#BuildingDescriptionId").val($("#BuildingDescriptionId option:first").val());
        //$("#BuildingDescriptionId").prop("selectedIndex", 0);
        $("#BuildingDescriptionId option:selected").prop("selected", false);


        //$('#ProjectBuildingFloors_Id').val(data.ProjectBuildingFloors.Id);
        $('#BuildingType').val('');
        $('input#basementtrue').iCheck("uncheck");
        $('input#basementfalse').iCheck("check");
        $('input#isbasementfinishedtrue').iCheck("uncheck");
}

最佳答案

好的,在您的 else 部分中,添加此 - $('select.chosen-select').removeClass('input-validation-error')

这样就可以了..

关于javascript - 如何停止Requiredfieldvalidator在取消点击时工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37344507/

相关文章:

javascript - 如何跨 android 和 JS bridge 配置通用数据模型?

javascript - 这个 MODAL 有什么问题?

javascript - 在具有良好浏览器兼容性的网页上播放 Rtsp 流的最有效插件

html - 如何使文本框居中并左对齐其附加标签

javascript - Backbone.js - Marionette ItemView onDestroy() 从未调用过

javascript - 为什么这个特定的正则表达式在 JavaScript 中不起作用?

javascript - 如何限制从 Parse.com 集合 (Javascript) 获取的对象数量?

javascript - 可变属性作为​​ jQuery 插件中的参数

javascript - 无法处理 x-editable 弹出字段中的验证属性

jquery - 单击时向 raphael 对象添加类