2011-05-05 2 views
0

ajax 프록시를 사용하여 쿼리에 바인드 된 cfselect가 있습니다. cfwindow 내에서 cfselect 에 해당하는 새 값을 업데이트하고 추가합니다. cfselect에서 항상 가장 최신의 업데이트 된 목록을 얻길 원합니다. onclick에서 호출 할 수있는 함수가 있고 인턴이 cfselect를 새로 고칩니다. 도와주세요!양식 제출없이 cfselect를 업데이트하십시오.

답변

1

Arasu,

그것은 내가 너무 처리 할 수있는 유사한 sceario을 가진 큰 우연의 일치입니다. 그러나 그것은 이렇게 간다.

솔루션은 다음과 같습니다 ColdFusion.Bind.assignValue (,,)

내가 쿼리에 바인딩 내 cfselect를 있습니다. 내 바인드 쿼리와 관련된 값은 내 웹 사이트의 다른 페이지 (cfwindow의 경우)에서 업데이트됩니다. 따라서 사용자가 선택할 때마다 cfselect에서 최신 값 집합을 가져와야합니다. 그래서 여기에 마법이옵니다. 내 cfselect를,의 OnClick에서 ColdFusion.Bind.assignValue을 (,,)를 호출 여기서

이름 : 제어 (여기가 cfselect를 이름)이

이름을 속성

를 바인더 제본 싶은 이름 : 컨트롤의 속성은 값을 할당

기능 : 데이터를 컨트롤에 바인딩하는 기능.

<cfform style="align:centre" id="frm_drpDwnBus" name="frm_drpDwnBus"> 
<cfinput name="hdnrr" value="#rrSbstring#" type="hidden">  
<cfselect name="dpDwnBs" bindOnLoad="true" 
    bind="cfc:getCalculatorData.getAllBus(hdnrr.value)" 
    value="busType_id_pk" 
    display="busType_name" 
    queryposition="below" onclick="javascript:refresh(hdnrr.value)" > 
<option value="0" on>Select a Bus</option> 
</cfselect> 
</cfform> 

그리고 내 자바 스크립트 코드는 다음과 같습니다 :

내 코드 진행

<cfajaxproxy cfc="Calculator.getCalculatorData" jsclassname="cfcCalcu"> 
var dataCalcu= new cfcCalcu(); 
function refresh(s) 
{ 
ColdFusion.Bind.assignValue('dpDwnBs','value', dataCalcu.getAllBus(s)) 
} 

을 이제 당신이 어떤 업데이 트를 할 때 나는 /를 '새로 고침'함수를 호출 할 일은 당신을 추천 할 것입니다 무엇을 cfwindow 코드에서 삭제. 그러면 cfselect에 대한 바인딩이 업데이트됩니다.

+0

감사합니다. Yoosaf. 멋지고 굉장합니다. – Arasu

+0

고마워요, 코드가 저에게 효과적이었습니다 :) –

관련 문제