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

时间:2012-08-19 23:25:57

标签: javascript jquery html forms

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

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

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

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

*我希望表格可以在以下网址找到:

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

我试图让“迷你代码”做的是(像Jotform)...

如果更改父级,请清除下拉/输入选择。现在,当您切换到另一个父级时,“迷你代码”不会隐藏主要父级的“大孩子”。直接的孩子消失但“大孩子”仍然

我还希望它重置下拉/输入选择,如果它被隐藏,因为如果你将它拉回来,所选的选项仍然显而易见它只是隐藏。

如果您希望我澄清一切,请告诉我,我非常感谢您的帮助。

再次感谢,

2 个答案:

答案 0 :(得分:1)

试试这个:

$(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

答案 1 :(得分:0)

我更新了你的小提琴: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

            }
        });
    });