我知道之前有人问过类似的问题并得到了回答,但我的代码存在特定问题。当下拉列表id="SITE"
更改时,我希望下拉列表id="YARD"
填充该站点的码。这是我的组件 CFC 代码(在名为 AjaxFunctions.cfc 的页面中):
<cfcomponent output="false">
<!--- Get YARDS dataset based on SITE --->
<cffunction name="getYards" access="remote" returntype="query" />
<cfargument name="Site" type="string" required="true" />
<cfquery name="rs_Yards" datasource="abc" username="notReal1" password="notReal2" >
<!--- SQL code here --->
</cfquery>
<cfreturn rs_Yards />
</cffunction>
<cfcomponent>
这是我在调用页面头部的接收代码:
<script>
$(document).ready(function() {
$("#SITE").change(function() {
alert( "SITE has changed." );// testing to see if jQuery works
// empty YARD dropdown
$("#YARD").empty();
// perform ajax
$.ajax({
type: "GET",
url: "AjaxFunctions.cfc",
data: {
method: "getYards",
Site: $("#SITE").val()
},
datatype: "json",
success: function(data) {
alert("We received the data."+data);
$.each(data, function () {
$("#YARD").append($("<option></option>").val(this['ITEMID']).html(this['ITEMDESC']));
}
}
});
});
});
</script>
乳我按原样尝试代码,绝对没有任何反应。当我只注释掉这些行时
$.each(data, function () {
$("#YARD").append($("<option></option>").val(this['ITEMID']).html(this['ITEMDESC']));
}
然后我收到通知“站点已更改”并且 YARD 下拉列表为空,但“我们收到数据...”警报看起来像来自错误页面的 HTML 代码。我想我可以担心稍后更新 YARD 下拉列表,现在我担心只是从查询中接收数据。