2013-07-31 57 views
0

我試圖從選擇標記中選取值並將其傳遞給jquery中的冷融合標記,如下所示。無法訪問腳本中的ColdFusion標記中的JavaScript變量

選擇標記代碼:

<select id="selectco"> 
<cfoutput query="colist"> 
<option value="#cid#">#coname#</option> 
</cfoutput> 
</select> 

jQuery代碼:

$(document).ready(function() 
{ 
    $("#selectco").change(function() 
    { 
     var e=document.getElementById("selectco"); 
     var opt=e.options[e.selectedIndex].value; 
     $("#selectst").html("<cfquery name='stlist' datasource='tasks'> 
select * from state where cid='"+opt+"' 
</cfquery><select id='selectct'><cfoutput query='stlist'><option>#stname#</option></cfoutput>"); 
    }); 
}); 

我能夠採取價值選擇variable.But是無法通過價值cfquery標籤。請幫幫我。

+0

[符號的可能重複:爲什麼PHP(或o服務器端)代碼在我的Javascript不工作?](http://stackoverflow.com/questions/13840429/reference-why-does-the-php-or-other-server-side-code-in-my-javascript -not-wor) – Quentin

+0

@Quentin不,它不是重複的。你有可能取消你的近距離投票嗎?它只會鼓勵其他不瞭解ColdFusion方面的人同樣投票結束。 –

回答

4

在ColdFusion服務器上解析CFML; Javascript在客戶端瀏覽器上運行。這兩個人在同一個空間裏永遠不會「存在」。

我建議你閱讀my blog article describing how CF participates in a request

你需要做的是對read up on data binding in ColdFusion(或一般),這是相當有據可查,所以沒有什麼點複製它在這裏。

+0

感謝@亞當卡梅隆請你給我建議任何可能的方法。 – uvk

+0

我已經更新了我的答案。 –

0

在客戶端/瀏覽器端執行jquery,而在服務器端執行coldfusion。

我已經做了很多使用CFC的實現。

您可以嘗試在每次選擇更改事件後觸發$ .get()請求。

可以說我有我的myApplication.cfc保存在mywebsite/CFC

myApplication.cfc內容

> <cfcomponent> 
> 
> <cffunction name="getstateList" access="remote" returntype="string" 
> returnformat="plain"> 
>  <cfargument name="cid" required="no" default="" type="string"> 
> 
>  <cfquery name='stlist' datasource='tasks'> 
>    select stateCode from state where cid='#arguments.cid#' 
>  </cfquery> 
> 
>  <cfset returnvalue = #stlist.stateCode#> 
> 
> <cfreturn returnvalue> </cffunction> 
> 
> </cfcomponent> 

在$獲得(「mywebsite/CFC/myApplication.cfc?方法= getstateList & CID ='+ yourParam)

所以以後你可以使用結果和填充你的SelectList

+1

總是'var/local'作用域[函數局部變量](http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24-7dfb.html#WSc3ff6d0ea77859461172e0811cbec0ac4a-7fbd)(包括查詢名稱)並使用cfqueryparam在客戶端提供的參數。另外,不需要'stlist.Code'附近的#號(或者那個額外的變量)。 – Leigh