Javascript 页面加载时显示div,而不仅仅是';关于变化';下拉列表的名称

Javascript 页面加载时显示div,而不仅仅是';关于变化';下拉列表的名称,javascript,html,Javascript,Html,我目前有一个表单的部分,它根据下拉列表的选择显示: $('#Selection').on('change', function () { if(this.value === "Section1"){ $("#Section1").show(); } else { $("#Section1").hide(); } if(this.value === "Section2"){ $("#Section2").show(); } else { $("#Sectio

我目前有一个表单的部分,它根据下拉列表的选择显示:

$('#Selection').on('change', function () {

if(this.value === "Section1"){
    $("#Section1").show();
} else {
    $("#Section1").hide();
}

  if(this.value === "Section2"){
    $("#Section2").show();
} else {
    $("#Section2").hide();
}

  if(this.value === "Section3"){
    $("#Section3").show();
} else {
    $("#Section3").hide();
}

  if(this.value === "Section4"){
    $("#Section4").show();
} else {
    $("#Section4").hide();
}

      if(this.value === "Section5"){
    $("#Section5").show();
} else {
    $("#Section5").hide();
}
}))

这适用于我的“添加”函数,因为默认下拉列表选择是“请选择…”,这意味着有一个“更改”触发我的函数

对于我的“编辑”功能,已经进行了选择,不太可能对此选择进行更改。我尝试将.on('change')位更改为.on('load'),但这似乎不起作用

感觉上我需要做一个简单的改变,但我对javaScript一窍不通

谢谢。

试试这个:

$( document ).ready(function() {
    // Handler for .ready() called.
    $("#Section1").show();
});

尝试在文档就绪时手动触发代码,如下所示:

$(document).ready(function(){
     $("#Selection").trigger("change");
});

如果您对变更处理程序中的功能感到满意

我认为Klikas解决方案是正确的:

$(document).ready(function(){
    if($('#Selection').value!=""){$('#Selection').trigger("change");}
});
您可以通过以下方式简化长函数:

$('#Selection').on('change', function(){
    var p=["Section1", "Section2", "Section3", "Section4", "Section5"];
    for(var i=0; i<p.length; i++){var n=p[i]; var t=$("#"+n); if(t){this.value===n?t.show():t.hide();}}
});
$('#Selection')。在('change',function()上{
变量p=[“第1节”、“第2节”、“第3节”、“第4节”、“第5节”];

对于(var i=0;我能为它创建您想要实现的JSFIDLE吗?在document.ready do$(“#Selection”)。触发器(“change”)手动触发您的代码:)您可以设置这样的函数
只是一个旁注–
这个。值
可以用作
ID
选择器..是否有必要在其中添加一个IF?我只希望在以前选中的情况下显示Section 1。@blackers希望我们为您完成工作,或者您可以花2秒钟的时间研究您想做的事情并自己编写代码?我不知道如何使用它?@zerohero你为什么不使用这个网站来帮助程序员解决困难和问题,或者帮助解决你自己的困难和问题;我正在努力学习。@blackers保持你原来的代码不变,并添加$(“#选择”).trigger(“更改”)这将用于调用代码,因为在代码中,您试图侦听$(“#选择”)上的更改事件。本质上,您将使用代码触发事件。谢谢,我现在理解了这应该如何工作的逻辑。但是,当我添加此代码时,似乎没有发生任何事情,这可能是因为我必须在加载页面后搜索记录吗?这将加载包含数据的页面,因此我对此表示怀疑。很抱歉,很抱歉:当您添加此代码时,然后y调试您的事件处理程序并查看this.value是什么。可能是this.value不等于您希望它等于的任何内容。我没有您的html能够更有效地帮助您。我用此版本替换了我的代码,但它的工作方式似乎与以前相同。使用我以前的代码和此简化代码,当我搜索一条记录,下拉列表中会出现“Section1”(因为这是在创建记录时选择的)。此时,我需要Section1可见,此时我必须选择“Section2”显示该部分,然后选择“back to”Section1以查看该部分中的数据。您必须更清楚…发布更多代码…根据您发布的内容和解释,我很难弄清楚您到底需要什么。。。.试着去理解。。。