2017-08-05 49 views
0

我在页面上有两个HTML选择选项,其中一个(名为PrimaryArea)具有修复选项,另一个(名为SecondaryArea)将根据PrimaryArea选项获取选项。c#无法获得代码后面的HTML选择选项值

<select id="PrimaryArea" style="width: 100px" required tabindex="4" runat="server" onchange="setSecondaryItem()"> 
    <option value="" disabled selected>Select....</option> 
    <option value="A">CityA</option> 
    <option value="B">CityB</option> 
    <option value="D">CityC</option> 
    <option value="E">CityD</option> 
    <option value="F">CityE</option> 
</select> 
<select id="SecondaryArea" style="width: 100px" tabindex="5" runat="server" required onchange="setSchoolItem()"> 
    <option value="" disabled selected>select...</option> 
</select> 

Javascript代码:

 function setSecondaryItem() { 
      var select = document.getElementById("<%= SecondaryArea.ClientID %>"); 
      var length = select.options.length; 
      for (j = length - 1 ; j >= 1 ; j--) { 
       select.remove(j); 
      } 
      var js = JSON.stringify(<%= SecondaryTable %>); 
      var js2 = JSON.parse(js); 
      var len = js2.length; 
      var i = 0; 
      while (i < len) { 
       if (js2[i].cd.substring(0, 1) == document.getElementById("<%= PrimaryArea.ClientID %>").value) { 
        var new_option = new Option(js2[i].ref_desc, js2[i].cd); 
        select.options.add(new_option); 
        i += 1; 
       } 
       else { 
        i += 1; 
       } 
      } 
      select.options[0].selected = true; 
     } 

     function setSchoolItem() { 
      var select = document.getElementById("<%= School.ClientID %>"); 
      var length = select.options.length; 
      for (j = length - 1 ; j >= 1 ; j--) {j 
       select.remove(j); 
      } 
      var js = JSON.stringify(<%= SchoolTable %>); 
      var js2 = JSON.parse(js); 
      var len = js2.length; 
      var i = 0; 
      while (i < len) { 
       if (js2[i].region_Cd == document.getElementById("<%= SecondaryArea.ClientID %>").value) { 
        var new_option = new Option(js2[i].temple_nm, js2[i].temple_id); 
        select.options.add(new_option); 
        i += 1; 
       } 
       else { 
        i += 1; 
       } 
      } 
      select.options[0].selected = true; 
     } 

都工作得不错。 这里我的问题是当我点击按钮来处理后面的代码时,我使用C#,值不能正确返回。

protected void Submit_click(object sender, EventArgs args) 
{ 
    string area = PrimaryArea.Value; // --> area = "A"~"F" 
    string area2 = SecondaryArea.Value; // --area2 = 0 <-- should be value I put in but not 0 
} 

我做错了什么?

+0

我找到了原因,但我不知道为什么会发生。我发现SecondaryArea项目的长度返回1.但实际上SecondaryArea有两个以上的项目。 –

回答

0

应该值我把但不为0

不知怎的,在JavaScript中,你必须设置与指标,而不是值SecondArea。调试JavaScript以查看位置。

+1

您正在做的正确:https://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmlselect.value(v=vs.110).aspx - 级联组合框具有值选择? –

相关问题