我最近问过这个问题,但一直无法得到解决方案。因此,我已经简化了我的问题,试图让我的问题的关键部分得到解答。
我有一个选择列表如下:
<select name="descriptionDD4" id="descriptionDD4">
<option value="add_new">ADD NEW</option>
</select>
我有一个CFC如下:
<cfcomponent>
<cffunction name="getDescriptions" access="remote" output="false" returntype="query">
<cfquery name="customDescriptions" datasource="#datasource#">
select description
from service_descriptions
where description <>"ADD NEW"
order by description
</cfquery>
<cfreturn customDescriptions>
</cffunction>
</cfcomponent>
如何使用AJAX调用使用CFC返回的数据填充此选择列表?代码会是什么样的?这是我到目前为止所提出的:
<script>
$(document).ready(function CheckAjaxCall()
{
$.ajax({
type:'POST',
url:'cfcs/get_descriptions.cfc',
data: {'method': 'getDescriptions'},
success:function(data){
jQuery("##descriptionDD4 option").remove();
jQuery.each(data, function(i, item) {
jQuery("##descriptionDD4").append( "<option value="+ i +">" + item + "</option>" );
});
},
//error:function(){alert("Connection Is Not Available");}
});
return false;
});
</script>
我意识到ColdFusion具有CFSELECT的BIND和QUERY属性,但在我的情况下,我必须有一种方法来使用AJAX填充列表。