jQuery父/子动态下拉列表无法正常工作

时间:2017-05-11 20:11:03

标签: jquery asp.net dropdown

我在ASP.NET Web表单中有两个下拉列表,使用jQuery填充它们并在更改父项时重新填充子列表。父列表正在正确加载,但子列表未加载或更新。子记录存储在名为textdata的文件夹中的文本文件中,其排列方式如下:

<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>

1 个答案:

答案 0 :(得分:0)

你的问题可能就在这里:

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

在部分$(this).val()中,您获得所选选项的值,但您的选项没有值。所以改为:

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