Javascript 在显示/隐藏| jQuery时清除输入字段

Javascript 在显示/隐藏| jQuery时清除输入字段,javascript,jquery,Javascript,Jquery,当用户单击选项列表中的另一个选项时,我想清除Home Number字段 当前,如果您选择选项3,家庭号码显示-这很好。如果要在显示选项3的同时选择选项1,手机号码将显示。这也很好,但是,我的验证失败了,因为家庭号码是必需的,即使输入没有显示在页面上,也希望填写家庭号码 我的想法是,如果进行了另一次选择,请清除家庭号码输入?这可能是错误的,但我不确定是否有另一种解决方案来解决这个问题 以下是我的jQuery: var form = { init: function () {

当用户单击选项列表中的另一个选项时,我想清除Home Number字段

当前,如果您选择选项3,家庭号码显示-这很好。如果要在显示选项3的同时选择选项1,手机号码将显示。这也很好,但是,我的验证失败了,因为家庭号码是必需的,即使输入没有显示在页面上,也希望填写家庭号码

我的想法是,如果进行了另一次选择,请清除家庭号码输入?这可能是错误的,但我不确定是否有另一种解决方案来解决这个问题

以下是我的jQuery:

var form = {

    init: function () {
        form.selection();

    },

    selection: function () {
        var homeNumber = $('.home-number'),
            mobileNumber = $('.mobile-number');

        $("li.checkbox").on('click', function (e) {
            //e.preventDefault();
            if ($(this).find("input:checkbox").is(":checked")) $(this).addClass("active");
            else $(this).removeClass("active");
            //If all three are selected show mobile, hide home
            if ($("ul li.checkbox.active").length > 1) {
                mobileNumber.css('display', 'block');
                homeNumber.val('');
                homeNumber.hide();
            } else if ($("li.last-option").hasClass("active")) {
                //If select last option only show home
                homeNumber.toggleClass('home-active');
                homeNumber.show();
                mobileNumber.hide();
                //If select last option only hide mobile
                mobileNumber.toggleClass('mobile-inactive');

            } else {
                homeNumber.val('');
                homeNumber.hide();
                mobileNumber.show();
            }



        });
    }
}
$(function () {
    form.init();
});

这取决于你的验证是如何进行的?有些是基于类的,例如,需要类
或类似类。如果是这种情况,您可以根据需要
addClass
removeClass
。如果您的问题与此插件无关,请不要使用标签。编辑。谢谢。当您检查是否填写了家庭号码或手机号码时,请确保它也是可见的-问题已经解决。您使用的验证是什么,以至于它会“爆炸”。如果是框架或插件,则可能存在忽略不可见字段的设置。我使用的验证是jquery验证。