Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.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 包含select的div在附加到窗体后不工作_Javascript_Html_Forms - Fatal编程技术网

Javascript 包含select的div在附加到窗体后不工作

Javascript 包含select的div在附加到窗体后不工作,javascript,html,forms,Javascript,Html,Forms,我有一个表格,我有下拉菜单来选择一个城市。我想在此表单中再添加一个下拉列表,以选择所选城市中的位置。我的表单代码如下所示 <s:form role="form" name = "signUpForm" onsubmit="return validateSignupForm()" action = "signUp" method="post" namespace="/" theme="simple"> <div class ="form-group">

我有一个表格,我有下拉菜单来选择一个城市。我想在此表单中再添加一个下拉列表,以选择所选城市中的位置。我的表单代码如下所示

<s:form  role="form" name = "signUpForm" onsubmit="return validateSignupForm()" action = "signUp" method="post" namespace="/" theme="simple">
    <div class ="form-group">
        <label for= "city">City</label>
            <select list="cityList" onchange="getLoad()" class="form-control selectpicker"  name="city" id="city"   data-live-search="true" data-size="5">
             <option value="NA">--select a city--</option>  
             <option value="A"> A</option>
             <option value ="B">B</option>
             <option value ="C">C</option>
             <option value ="D">D</option>
          </select> 
    </div>
    <div id="parentLocationDiv"></div>
 </s:form>

现在,当我选择一个城市对应的位置下拉菜单是可见的形式,但当我选择任何选项,它不会被选中。有人能帮我吗

除了在没有匹配位置的情况下抛出错误外,您的代码似乎正常工作。您可以按如下方式修复它:

函数getLoad(){ var parentDiv=document.getElementById(“parentLocationDiv”); while(parentDiv.hasChildNodes()){ parentDiv.removeChild(parentDiv.childNodes[0]); } var cityName=document.getElementById(“城市”).value | |“”; var target=document.getElementById(cityName.concat(“位置”); 如果(!目标) 返回; var clone=target.cloneNode(true); clone.getElementsByTagName(“选择”).name=“位置”; clone.getElementsByTagName(“选择”).id=“位置”; parentDiv.appendChild(克隆); parentDiv.childNodes[0].style.display=“block”; }
.holder{
显示:无;
}

城市
--选择一个城市--
A.
B
C
D
1.
2.
1.
2.
<div class="form-group" id="ALocation">
  <select id="alocation" name="alocation">
     <option value="1">1</option>
     <option value="2">2</option>
  </select>
</div>
<div class="form-group" id="BLocation">
  <select id="blocation" name="blocation">
     <option value="1">1</option>
     <option value="2">2</option>
  </select>
</div>
  function getLoad(){

     var ParentDiv  =   document.getElementById("parentLocationDiv"); 

     while(ParentDiv.hasChildNodes())
     {
         ParentDiv.removeChild(ParentDiv.childNodes[0]);
     }
            var cityName = document.getElementById("city").value;

                if(ParentDiv.hasChildNodes())
                {   while(ParentDiv.hasChildNodes())
                    {   
                        ParentDiv.removeChild(Parentdiv.childNodes[0]);

                    }
                }
                debugger;
                var clone = document.getElementById(cityName.concat("Location")).cloneNode(true);
                ParentDiv.appendChild(clone);
                ParentDiv.childNodes[0].style.display="block";
                var newdiv = ParentDiv.childNodes[0];
                newdiv.getElementsByTagName("select").name="location";
                newdiv.getElementsByTagName("select").id="location";

      }