当选择不同的父母时,我如何使条件形式的孩子消失并清除

How do I make children of conditional form disappear and clear when a different parent is chosen?

本文关键字:条件 孩子 何使 消失 清除 选择 父母      更新时间:2023-09-26

感谢您的帮助-如果我的标题有点令人困惑,我会提前道歉,我很难解释这个问题,甚至很难找到解决方案。

我试图为我目前正在构建的模块创建一个条件表单,但由于缺乏真正的javascript知识而陷入瘫痪。

*我目前正在使用的代码可以在以下位置找到:

http://jsfiddle.net/jgliesman/MQjf8/3/*

*我想让表格做什么可以在找到

http://form.jotform.us/form/22290232014135*

我想让"迷你代码"做的是(就像Jotform)。。。

如果更改父项,请清除下拉/输入选择。现在,当你切换到另一个家长时,"迷你代码"并没有隐藏主家长的"孙子女"。直系子女消失,但"孙子"仍然存在

我还希望它在隐藏的情况下重置下拉/输入选项,因为如果将其向上拉,所选选项仍然很明显,只是隐藏了而已

如果你想让我澄清什么,请告诉我,我真的很感激你的帮助。

再次感谢

试试这个:

$(document).ready(function(){
        $("#select1").change(function(){
            if ($(this).val() == "1") {
                $("#hide1").slideDown("fast");     
            } else {   
                $("#hide1").slideUp("fast");    
                $("#hide2").slideUp("fast");
                $("#select2 option:first").prop('selected', true);
                $("#select3 option:first").prop('selected', true);                                
            }
        });    
        $("#select2").change(function(){    
            if ($(this).val() == "1") {    
                $("#hide2").slideDown("fast");   
            } else {    
                $("#hide2").slideUp("fast");       
            }
        });
});

Fiddle

我更新了你的小提琴:http://jsfiddle.net/MQjf8/4/

它和@undifned建议的一样,但也考虑了重置。

$(document).ready(function(){
        $("#select1").change(function(){
            if ($(this).val() == "1" ) {
                $('#hide1 select').val('(choose one)'); // select default
                $("#hide1").slideDown("fast"); //Slide Down Effect
            } else {
                $("#hide1").slideUp("fast");    //Slide Up Effect
                $("#hide2").slideUp("fast");    //Slide Up Effect
            }
        });
        $("#select2").change(function(){
            if ($(this).val() == "1" ) {
                $('#hide2 select').val('(choose one)'); // select default
                $("#hide2").val('(choose one)').slideDown("fast"); //Slide Down Effect
            } else {
                $("#hide2").slideUp("fast");    //Slide Up Effect
            }
        });
    });