2009-08-04 7 views
0

Ich habe einen CFC mit einer Remote-Funktion und versuche, sie in das cfselect-Element meiner cfm-Seite einzufügen. Aber ich bekomme nichts in der Auswahl.Ausführen einer ajax-Komponente http: //path/to/my/component.cfc? Method = etwas führt die Methode nicht aus

Ich habe versucht, die cfc direkt ausführen, aber die Methode, die ich anrufe nicht ausgeführt. Hier

ist der Code für den CFC:

<cfcomponent output="false"> 
     <cffunction name="getYear" access="remote" returnType="query"> 

      <cfset yearlist = QueryNew("yr","integer")> 
      <cfset temp = QueryAddRow(yearlist,3)> 
      <cfset counter = 1> 
      <cfloop from="#evaluate(year(Now())-1)#" to="#evaluate(year(Now())+1)#" index="y"> 
       <cfset temp = QuerySetCell(yearlist,"yr",y,counter)> 
       <cfset counter = counter + 1> 
      </cfloop> 

      <cfreturn yearlist> 
     </cffunction> 
</cfcomponent> 

Hier ist der Code für die CFM

<body> 

    <cfform> 

    <table> 
     <tr> 
      <td>Select Year:</td> 
      <td><cfselect name="yearval" 
         bind="cfc:cfc.ajaxcomp.getYear()" 
         value="yr" 
         display="yr" 
         bindonload="true" /></td> 
     </tr> 
    </table> 

    </cfform> 

</body> 

Könnten Sie mir bitte sagen, was ich hier fehlt?

Danke!

Antwort

1

So funktioniert der folgende Code für mich. Ich änderte ein paar Dinge, so schwer zu wissen, was es tat, aber:

  1. die Variablen
  2. entfernt einige Komplexität
  3. Changed die Abfragespalte von integer-Var scoped in varchar

-

<cfcomponent output="false"> 
    <cffunction name="getYear" access="remote" returnType="query"> 

     <cfset var y = 0 /> 
     <cfset var yearList = QueryNew("yr","varchar")> 

     <cfloop from="#year(Now())-1#" to="#year(Now())+1#" index="y"> 
      <cfset queryAddRow(yearList) /> 
      <cfset QuerySetCell(yearList,"yr",y)> 
     </cfloop> 

     <cfreturn yearlist> 
    </cffunction> 
</cfcomponent> 
Verwandte Themen