Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
增强当前Javascript显示和隐藏功能_Javascript_Jquery_Html_Hide_Show - Fatal编程技术网

增强当前Javascript显示和隐藏功能

增强当前Javascript显示和隐藏功能,javascript,jquery,html,hide,show,Javascript,Jquery,Html,Hide,Show,所以我现在在javascript中有这个函数 jQuery(function ($) { $('#type').on('change', function(e) { alert($(this).val()) if ($(this).val() == '190452') { // Name1 $('#first_name').parent().parent().hide(); } else if($(this).val

所以我现在在javascript中有这个函数

jQuery(function ($) {
    $('#type').on('change', function(e) {
        alert($(this).val())
        if ($(this).val() == '190452') { // Name1
            $('#first_name').parent().parent().hide();
        } else if($(this).val() == '105561'){ //Name2
            $('#surname').parent().parent().hide();
        } else if($(this).val() == '105581'){ //Name3
            $('#company_name').parent().parent().hide();
        } else if($(this).val() == '105601'){ // Name4
            $('#company_name').parent().parent().hide();
        }
    });
})
这工作正常,警报仅用于测试目的。然而,我希望通过一些方式来增强它,但我不完全确定如何增强

这是一个场景,我有一个下拉列表(选项),上面有4个ID(如上所述),第5个选项是“请选择”,我想要的场景如下所示

  • 请选择-不显示表格
  • 名称1-显示表单的某些部分
  • 名称2-如上所述
  • 名称3-如上所述
  • 名称4-如上所述
目前的问题是,例如,如果我选择名称1,它将删除一个名为“first_name”的行。但是,如果我随后选择名称2-4,该行将永远丢失,尽管我需要返回该行。在不列出所有(显示)和(隐藏)的情况下,当您选择另一个选项时,是否有更有效的方法确保它不会隐藏该特定行。它会回来吗

我一直在研究(.is(“:visible”),但我不完全确定如何以这种格式实现它,任何指针都会很棒。

Jquery有一个函数,它可以为您提供所需的功能


另外,您可以使用选择器,而不是使用
.parent().parent()
,这样可以清除一些冗余。

啊,好的,这很有用。关于如何在没有声明需要(显示)的情况下返回行的任何想法感谢RockHopper,再次选择相同选项时,切换似乎很好,它将出现。当选择其他选项时,我需要表单进行某种刷新吗?我没有看到您的表单,但您不应该看到。toggle()应该在每个单击事件上来回切换。谢谢,这花了一些时间,但现在可以工作了。