2

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

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

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

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

*我想要的表格可以在以下位置找到:

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

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

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

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

如果您想让我澄清任何事情,请告诉我,我非常感谢您的帮助。

再次感谢,

4

2 回答 2

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");       
            }
        });
});

小提琴

于 2012-08-19T23:31:52.300 回答
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

            }
        });
    });
于 2012-08-19T23:42:44.083 回答