javascript - jQuery/Javascript - 自行运行脚本函数

标签 javascript jquery html

考虑以下因素:

我有 2 <div>

<div class="panel-body">
    //some parent class for each textbox
    <input type="text" class="required" id="txtA"></input>
    <input type="text" class="required" id="txtB"></input>
    <button class="submitButton">A</button>
</div>

<div class="panel-body">
    //some parent class for each textbox
    <input type="text" class="required" id="txtC"></input>
    <input type="text" class="required" id="txtD"></input>
    <input type="text" class="required" id="txtE"></input>
    <button class="submitButton">B</button>
</div>

和我的 jQuery 代码:

$(document).ready(function () {
    $('.submitButton').click(function (e) {
        var errorLess = true;
        $(".TextError").remove();
        $(".required").each(function () {
            $(this).parent().parent().removeClass("has-error");
            if ($(this).val() == "") {
                $(this).parent().parent().addClass("has-error");
                $('<span class=\"TextError\">This field is required!</span>').insertAfter(this);
                errorLess = false;
            }
        });
        return errorLess;
    });
});

当单击包含的按钮时,如何才能在某种程度上仅验证 div 中的字段?

意思是,当我点击按钮A时,它只会验证 txtAtxtB 。当我点击按钮B时,它将验证 txtC , txtD ,和txtE

我必须如何修改 jQuery 代码才能使其以这种方式工作?

最佳答案

您可以使用.closest()带选择器".panel-body"选择.parentElement.parentElement相对于当前.submitButton 。设置contextjQuery()调用哪里".required"是选择器。

不确定$(this).parent().parent().removeClass("has-error");的目的是什么.each()内调用循环?

$(document).ready(function () {
    $('.submitButton').click(function (e) {
        var errorLess = true;
        $(".TextError").remove();
        var closestPanel = $(this).closest(".panel-body");
        $(".required", closestPaenl).each(function () {
            // $(this).parent().parent().removeClass("has-error");
            if ($(this).val() == "") {
                $(this).parent().parent().addClass("has-error");
                $('<span class=\"TextError\">This field is required!</span>').insertAfter(this);
                errorLess = false;
            }
        });
        return errorLess;
    });
});

关于javascript - jQuery/Javascript - 自行运行脚本函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43444653/

相关文章:

javascript - 存储获取的数据以避免每次重新加载组件时都获取它

javascript - 如何使用jquery将base64图像路径转换为真实路径。

php - 提交按钮后的ajax后台进程

javascript - 单击鼠标时如何停止重复功能?

java - 使用 Thymeleaf 创建在新窗口/标签页中打开的链接

javascript - 当嵌套文档存在时,如何验证嵌套文档的属性是否存在?

javascript - 在提交时响应 GET 表单数据

javascript - 单击后更改图像,但将其他选项卡重置为初始图像javascript

jquery - 辅助功能跳过导航菜单更改视觉焦点,而不是选项卡焦点 - 我该如何解决这个问题

javascript - 在rails app + jquery 中生成的链接错误地定向到本地主机