Solved

how do I pass a coldfusion variable to a cfselect bind attribute

Posted on 2009-04-09
6
1,433 Views
Last Modified: 2013-12-24
I have a cfselect tag like the following:

<cfselect name="patientfind"
    bind="cfc:subjects.subject_select({subject_name@keydown},39,1)"
      value="entityid"
    display="fullname"
      size="5"
      width="200"      />

I need to be able to replace the two last arguments (the 39 and 1) with coldfusion variables defined in the template that houses the cfselect statement. I have tried several different methods, from string concatenation to using ## around the variables names like this:
 
bind="cfc:subjects.subject_select({subject_name@keydown},#project_id#,"user_id#1)"

But none of these work. They all cause different javascript errors.

I figure that I am just missing something simple.

Your advice is greatly appreciated.

Tom
<cfselect name="patientfind"
    bind="cfc:subjects.subject_select({subject_name@keydown},39,1)"
	value="entityid"
    display="fullname" 
	size="5"
	width="200"	/>
 
<cfselect name="patientfind"
    bind="cfc:subjects.subject_select({subject_name@keydown},#project_id#,#user_id#)"
	value="entityid"
    display="fullname" 
	size="5"
	width="200"	/>

Open in new window

0
Comment
Question by:hoetom
6 Comments
 
LVL 19

Accepted Solution

by:
erikTsomik earned 500 total points
ID: 24111849
just the numbers in local varibale
<cfset lLoc1=39>
<cfset lLoc2=1>

Then
bind="cfc:subjects.subject_select({subject_name@keydown},#lLoc1#,#lLoc2#)"

0
 
LVL 52

Expert Comment

by:_agx_
ID: 24111897
You could always put the values in hidden fields,

<cfinput type="hidden" name="project_id" value="#project_id#">
<cfinput type="hidden" name="user_id" value="#user_id#">

... then use the the hidden fields as the last two values in the bind.
0
 
LVL 52

Expert Comment

by:_agx_
ID: 24111963
... Though using variables works fine for me

<cfselect..   cfc:mycfc.mymethod(#project_id#,#user_id#)">
0
Simplifying Server Workload Migrations

This use case outlines the migration challenges that organizations face and how the Acronis AnyData Engine supports physical-to-physical (P2P), physical-to-virtual (P2V), virtual to physical (V2P), and cross-virtual (V2V) migration scenarios to address these challenges.

 
LVL 27

Expert Comment

by:azadisaryev
ID: 24112809
yes, just passing cf vars works fine. what you need to check is if your cfc function accepts them - does it have <cfargument> defined for each? are they required or not? are you passing them to the function in correct order?

also keep in mind that you can't pass a comma-delimited list as cf variable to your function via binding. you need to change list delimiters to something other than a comma.

Azadi
0
 

Author Comment

by:hoetom
ID: 24112880
Thank you all for your advice.

I had tried wrapping the variable names in #, but it hadn't worked. I was getting by Firebug that I had an undefined variable. I played around with what I was passing and determined that I only got that error if the value of the variable that I was passing was a string.

In this case, I had to wrap the variable in a pair of single quotes, along with the #, or like this:

bind="cfc:subjects.subject_select({subject_name@keydown},#project_id#,'#user_id#')"

It is a long story on why my user_id is a string...

Thanks for your help.
Tom
0
 
LVL 52

Expert Comment

by:_agx_
ID: 24113043
> I had to wrap the variable in a pair of single quotes

Well, if it is either a string value or type,  then yes. Strings pretty much always need to be quoted ;-)
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Time Sheet Help 6 57
Website being blocked? 3 127
LAMP problem identifier tool ? 9 118
Redundant SQL Servers Without Clustering 7 107
A web service (http://en.wikipedia.org/wiki/Web_service) is a software related technology that facilitates machine-to-machine interaction over a network. This article helps beginners in creating and consuming a web service using the ColdFusion Ma…
Have you ever sent email via ColdFusion and thought of tracking this mail to capture the exact date and time when the message was opened ?  If yes, then this article is for you ! First we need a table user_email with columns user_id , email , sub…
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question