2012-06-12 2 views
1

javascript 또는 coldfusion을 사용하여 전달 된 값으로 값을 대체하려고합니다. 아이디어는 그리드에 값을 출력하는 템플릿이 있다는 것입니다. 그러나 표시된 값은 쿼리에 의해 동적으로 결정되어야합니다. 지금까지 나는 좋은 아이디어를 내놓을 수 없었습니다.ColdFusion에서 변수를 동적으로 출력하는 방법

다음은 내가 생각했던 것의 샘플입니다 (그러나하지는 않습니다). 그것은 내가 뭘하려고 오전 설명 할 수 있습니다 모든

<cfset StaticValue="DynamicValue"> 

<cfset DynamicValue="What I Want To Show"> 

<script type="text/javascript"> 
    document.getElementById("demo").innerHTML="<cfoutput>#StaticValue#</cfoutput>"; 
</script> 

<cfoutput>#<span id="demo"></span>#</cfoutput> 
+0

확실하지 않습니다.이 권리를 이해합니다. 일부 이벤트에 대한 응답으로 정적 값을 대체 할 동적 값입니까? 동적 값은 어떻게 전달됩니까? 이것은 ajax 호출에서 일부 서버 측 cf로 오는 것입니까? – Jason

+0

어떤 ColdFusion 버전을 사용하고 있습니까? –

+0

너는 span 태그 주위에 출력이 필요하지 않습니다. 이들을 제거하면 위의 코드가 작동하지만 ... 함수 또는 동작을 추가해야 할 수도 있습니다. 위의 코드는 쓸모없는 것처럼 보입니다. # dynamicValue #과 같은 span 태그 사이에 '동적 값'을 넣을 수도 있습니다. 나는 행동에 유의해야한다고 생각합니다. –

답변

2

첫째, 이것은 잘못된 것입니다 : 당신이 제안하는

<cfoutput>#<span id="demo"></span>#</cfoutput> 

라는 CF 변수가 있음을

<span id="demo"></span> 

귀하 질문이 명확하지 않으므로 어느 것도 내 대답이 될 수는 없지만이 일을하려고하는 것으로 의심됩니다.

<script type="text/javascript"> 
    <cfoutput> 
     document.getElementById("demo").innerHTML="#StaticValue#"; 
    </cfoutput> 
</script> 

<span id="demo"></span> 

이 JavaScript가 페이지에서 실행될 때 문자열 "DynamicValue"가 span # demo에 기록됩니다.

0

동일하면 비교하고 표시하려는 경우 표시하려고합니까? u는 여기에 무엇을하려고

<cfset StaticValue="DynamicValue"> 

<cfif staticvalue is dynamicvalue> 
    <cfset DynamicValue="What I Want To Show"> 

    <script type="text/javascript"> 
    <cfoutput> 
    document.getElementById("demo").innerHTML="#DynamicValue#"; 
    </cfoutput> 
    </script> 
</cfif> 

확실하지 않음 - 내부에이 나쁜 변수에 오류가 발생하지로 ##

<cfoutput>#<span id="demo"></span>#</cfoutput> 

해야합니다

<cfoutput> 
<span id="demo"> 
#dynamicvalue# 
</span> 
</cfoutput> 

그냥 시도하는 경우 표시 할 URL을 얻으려면 :

<cfoutput> 
<span id="demo"> 
<a href="#dynamicvalue#">#dynamicvalue#</a> 
</span> 
</cfoutput> 
3

기존 문자열/변수를 변수 이름으로 사용하려면 대괄호 표기법을 사용해야합니다.

<cfset StaticValue="DynamicValue"> 

<cfset DynamicValue="What I Want To Show"> 

<!--- outputs value of Variables.DynamicValue ---> 
<cfoutput>#Variables[StaticValue]#</cfoutupt> 

(이 작동하는 모든 범위/구조체/쿼리/등 : 명시 적 변수를 범위하지 않은 경우 당신이 할 수 있도록 CF에서

, 그것은는 Variables 범위에서 생성됩니다)

참고 : 변수가 자바 스크립트 문자열의 내부 출력하는 경우 적절한 문자를 이스케이프하기 위해 JsStringFormat(...)에 포장해야합니다.

+1

..그리고 당신이 질의에 대해 언급 했으므로 브래킷 표기법을 사용하여 액세스 할 수 있습니다. 즉,'queryName [columnName] [rowNumber]' – Leigh

관련 문제