2009-08-04 9 views
0

リモート関数を持つCFCがあり、cfmのページのcfselect要素に値を設定しようとしています。しかし、私は選択肢に何も得ていない。ajaxコンポーネントの実行http://path/to/my/component.cfc?method = somethingがメソッドを実行していません

私はcfcを直接実行しようとしましたが、私が呼び出したメソッドは実行されません。ここで

は、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> 

は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> 

ためのコードであるあなたは、私がここで何をしないのです教えてくださいませんか?

ありがとうございます!

答えて

1

次のコードは私のために働きます。私はそれをやったかを知るために一生懸命、いくつかのことを変更しますが:

  1. いくつかの複雑
  2. を削除Varのスコープの変数

を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> 
関連する問題