我在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>
Merge Code
<select id='ddlMergeCode' name='ddlMergeCode'></select>
</div>
</form>
</body>
</html>
答案 0 :(得分:0)
你的问题可能就在这里:
$("#ddlMergeCode").load(encodeURI("textdata/" + $(this).val() + ".txt"));
在部分$(this).val()
中,您获得所选选项的值,但您的选项没有值。所以改为:
$("#ddlMergeCode").load(encodeURI("textdata/" + $("#ddlMergeCodeGroup option:selected").text()+ ".txt"));