基于ColdFusion动态下拉列表填充DIV

时间:2015-03-05 15:11:20

标签: javascript ajax coldfusion cfc

我正在尝试使用基于下拉列表中的选择的coldfusion查询数据来填充DIV。我目前正在通过将CFDIV绑定到CFM操作页面来实现它,但我试图通过纯JAVASCRIP解决方案来实现它。

因此,通过对CFC的AJAX调用,我收到以下错误:500(执行数据库查询时出错。)

错误的详细信息如下:

执行数据库查询时出错。 您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以便在第4行的'WHERE customer_id = 211 AND alert_status =''附近使用正确的语法

由于某种原因它不喜欢我在CFC中的最后一个查询,但查询在我绑定到CFDIV的其他代码中工作。

这是我的AJAX:

<script>
function PopulateCustomerAlertDIV(){
    // Populate the customer alert DIV based on the customer selection

    $.ajax({
        url:'cfcs/customerAlertDIV.cfc?method=getAlert&returnformat=json',
        data: { company_name: $("##company_name>option:selected").attr("Value") },
        success: function(response) {
            $("##CustomerAlertDIV").val( response );
            }
      });
}
</script>

这是我想要动态填充的DIV:

<div id="CustomerAlertDIV" style="display: block;"></div>

这是我的SelectBox:

<cfselect queryPosition="below" name="company_name" id="company_name" value="company_name" bind="cfc:cfcs.taxdata.getData()" bindonload="true"   tabindex="0" onchange="PopulateCustomerAlertDIV();" >
            <option>---Make A Selection---</option>
</cfselect>     

这是我的CFC:

<cffunction name="getAlert" access="remote" returnType="string">
<cfargument name="company_name" type="any" required="true">

<!--- localize function variables --->
<cfset var dataDetail = "">

<cfquery name="getID" datasource="#datasource#" >
select customer_id
from customer_table
where company_name = <cfqueryparam value="#ARGUMENTS.company_name#" cfsqltype="cf_sql_varchar">
</cfquery> 


<cfquery name="dataDetail" datasource="#datasource#">
    SELECT ID, alert, alert_priority
    FROM   customer_alerts
    <!--- adjust cfsqltype if needed --->
    WHERE WHERE customer_id = #getID.customer_id# AND alert_status = 'on'
</cfquery>

<cfreturn dataDetail.alert>
</cffunction></cfcomponent>

0 个答案:

没有答案