1

我不确定我是否正确地考虑了这一点。我还是 ColdFusion 的新手。我正在创建一个表单,它使用绑定让用户选择一个类别,然后选择一个特定的服务。绑定的代码效果很好。问题是现在我需要从服务中提取一些附加信息来引用另一个字段。例如,如果所选服务在需要的附加信息下具有“Y”。一个字段将显示需要额外的信息(此字段不可更改)

最初我认为我可以做一些事情,比如重新生成我所做的相同查询以提取服务列表并仅引用所选的服务类型。然而,我不断收到该字段未定义的错误。这是我试图使其工作的代码。

更新:我让它工作我改变了下面的代码唯一的问题是我无法让“Y”显示我得到[object Object]。关于如何使用 cfinput 显示文本的任何建议?

氟氯化碳:

 <!--- Get array of Catagory Description types --->
 <cffunction name="cat_description" access="remote" returnType="array">

 <!--- Define variables --->
 <cfset var data="">
 <cfset var result=ArrayNew(2)>
 <cfset var i=0>

 <!--- Get data --->
 <cfquery name="getServiceCat" datasource="Some Database">
    select distinct 2 AS SortBy, CATG_NAME
    from some table
    UNION
    select 1 AS SortBy, '' AS CATG_NAME
    from Some table
    order by SortBy
 </cfquery>

 <!--- Convert results to array---> 
 <cfloop index="i" from="1" to="#getServiceCat.recordcount#">
    <cfset result[i][1]=getServiceCat.CATG_NAME[i]>
    <cfset result[i][2]=getServiceCat.CATG_NAME[i]>
 </cfloop>

 <!--- And return it --->
 <cfreturn result>
 </cffunction>

  <!--- Get Service Type by Cat description type --->
  <cffunction name="getServiceType2" access="remote" returnType="array">
  <cfargument name="CATG_NAME" type="string" required="true">

  <cfset var data="">
  <cfset var result=ArrayNew(2)>
  <cfset var i=0>

  <cfquery name="getServiceType2" datasource="Some Database">
    select 1 AS SortBy,  '' AS SRTY_BNR, '' AS SRTY_NAME
    from Some table
    UNION
    select distinct 2 AS SortBy, SRTY_NBR, SRTY_NAME
    from Some Table
    where CATG_NAME = <cfqueryparam value="#ARGUMENTS.CATG_NAME#"   
    cfsqltype="cf_sql_varchar"> 
    order by SortBy
   </cfquery>

   <cfloop index="i" from="1" to="#getServiceType2.recordcount#">
      <cfset result[i][1]=getServiceType2.SRTY_NAME[i]>
      <cfset result[i][2]=getServiceType2.SRTY_NAME[i]>
   </cfloop>

   <cfreturn result>
   </cffunction>

   <!---Updated below table into CFC to pull information depending on what is pulled   
   from category and service type--->
   <cffunction name="getLR" access="remote" returnType="query">
   <cfargument name="SRTY_NAME" type="string" required="true">

   <cfset var data="">

    <!---Query to get "Y"--->
    <cfquery name="lr_required" datasource="Some Datebase">
  select distinct LAB_REL_NTFN_FLAG 
  from some table
  where SRTY_NAME = <cfqueryparam value="#ARGUMENTS.SRTY_NAME#"  
       cfsqltype="cf_sql_varchar"> 
</cfquery>

     <cfreturn lr_required>
     </cffunction>

这是表单中的代码:

<TR id="serv_ty" style="display: inline;">
    <td align="left" nowrap><label>Service Type:</label></td>
    <td>Select Category:
    <cfselect name="catdesc"
    bind="cfc:servicetype2.cat_description()"
    bindonload="true"/><br />
    </td>
</TR>
<tr id="serv_ty2" style="display: inline;">
    <td></td>
    <td>Select Service:
    <cfselect name="service_type"
    bind="cfc:servicetype2.getServiceType2({catdesc})"
    bindonload="false"/>
    </td>
</tr>

这是使用绑定的表单代码,它有效但不会显示数据:

 <tr id="lr_verify" style="display: inline;">
 <td></td>
 <td>Additional Info Reuired:
 <cfinput 
 name="lr_needed"
 bind="cfc:servicetype2.getLR({service_type})"
 bindonload="no"
 disabled="disabled"
 display="LAB_REL_NTFN_FLAG"/></td>
 </tr>

关于如何让它显示的任何建议,或者我是否应该使用不同的 CF 语句与绑定来获得正确的显示。提前感谢您对此的帮助。

4

0 回答 0