2017-05-11 10 views
0

ASP.NETのWebフォームにjQueryを使用して2つのドロップダウンリストを作成し、親が変更されたときに子リストを再設定します。親リストは正しくロードされていますが、子リストはロードまたは更新されていません。子レコードは、テキストデータと呼ばれるフォルダ内のテキストファイルに保存されているので、同じように配置されている: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

あなたの問題はここにおそらくある:あなたが選択したオプションの値を取得する部分$(this).val()

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

が、あなたのオプションは、値を持っていません。したがって、これに変更してください:

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

Farzin!私はddlMergeCodeへの2番目の参照をddlMergeCodeGroupに調整しました。それは選択を行っているところですが、残念ながら私は同じ結果を得ています。 – Mike

+0

あなたは私の答えを現在のものと同じように編集しましたか?それは真実ではなく、私は$( "#ddlMergeCodeGroup option:selected")。text() 'を意味しました。 –

+0

はい、あなたが持っているものをコピーして貼り付けました。 – Mike

関連する問題