2017-05-11 52 views
0

我有兩個下拉列表在ASP.NET Web窗體中使用jQuery來填充它們並在父級更改時重新填充子級列表。父列表正在加載,但子列表未加載或更新。子記錄被存儲在文本文件中的一個文件夾,名爲的TextData和安排,像這樣:jQuery父/子動態下拉列表不能正常工作

<option>User Name</option> 
<option>User ID</option> 
<option>User ID Lower</option> 
<option>User Email</option> 
<option>User Phone</option> 
<option>User Fax</option> 

父記錄也存儲在一個文本文件名爲MergeCodeGroups.txt根,其配置文件以類似的方式。以下是頁面代碼。有沒有人看到我的錯誤?任何幫助是極大的讚賞! 謝謝! 邁克

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Test.aspx.vb" Inherits="TextControl2016.Test" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <script src="Scripts/jquery-1.10.2.js"></script> 

     <script type="text/javascript"> 
      // Load merge code groups and merge codes 
      function loadDDLMergeCodeGroups() { 
       $(document).ready(function() { 
        $("#ddlMergeCodeGroup").load("MergeCodeGroups.txt"); 
       }); 
      } 

      function loadDDLMergeCodes() { 
       $("#ddlMergeCodeGroup").change(function() { 
        $("#ddlMergeCode").load(encodeURI("textdata/" + $(this).val() + ".txt")); 
       }); 
      } 

     </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <script type="text/javascript"> 
      loadDDLMergeCodeGroups(); 
      loadDDLMergeCodes(); 
     </script>Merge Code Group 
     <select id='ddlMergeCodeGroup' name='ddlMergeCodeGroup'></select>&nbsp;&nbsp; 
      Merge Code&nbsp;&nbsp; 
     <select id='ddlMergeCode' name='ddlMergeCode'></select> 

    </div> 
    </form> 
</body> 
</html> 

回答

0

你的問題很可能是在這裏:

$("#ddlMergeCode").load(encodeURI("textdata/" + $(this).val() + ".txt")); 

在部分$(this).val()你選擇的選項的值,但你的選擇有沒有價值。所以改爲:

$("#ddlMergeCode").load(encodeURI("textdata/" + $("#ddlMergeCodeGroup option:selected").text()+ ".txt")); 
+0

非常感謝Farzin的快速回復!我將你的第二次引用ddlMergeCode調整爲ddlMergeCodeGroup,因爲這是我們得到選擇的地方,但不幸的是我得到了相同的結果。 – Mike

+0

您是否像當前版本一樣編輯了我的答案?這不是真的,我的意思是$(「#ddlMergeCodeGroup option:selected」)。text()'。 –

+0

是的,我複製並粘貼了你所擁有的。 – Mike