lulu50
asked on
Checkboxes
Hi,
I have an update page, so, on that page I have a list of checkboxes. I need to check the checkboses that are checked.
this is what I have so far.
Thank you,
My logic is off as usual
I have an update page, so, on that page I have a list of checkboxes. I need to check the checkboses that are checked.
this is what I have so far.
<cfquery name="Select_DB" datasource="#dsn#" username="#dbID#" password="#dbPassword#">
Select DBID as DID, DBName as DName
From AppDatabase
order by DBName ASC
</cfquery>
Note: the output value for AppInformation.DBID is this: 4,3,7,1,6,10,5,2
<cfset checkedList = "">
<cfloop index="kk" list="#valueList(AppInformation.DBID)#">
<cfif listFind(checkedList,kk) eq 0>
<cfset checkedList = listAppend(checkedList,kk)>
</cfif>
</cfloop>
<cfloop index = "i" list = #checkedList#>
<cfoutput query="Select_DB">
<cfdump var="#Select_DB.DID#">
<cfif #i# eq #Select_DB.DID#>
<cfinput type="checkbox" checked="yes" name="Insert_DB" value="#Select_DB.DID#"><cfoutput>11111 - #Select_DB.DID#</cfoutput> <br>
<cfelse>
<cfinput type="checkbox" checked="No" name="Insert_DB" value="#Select_DB.DID#"><cfoutput>22222 - #Select_DB.DID#</cfoutput> <br>
</cfif>
</cfoutput>
</cfloop>
Thank you,
My logic is off as usual
ASKER
just one checkbox is checked
don't I have to loop the query Select_DB?
don't I have to loop the query Select_DB?
Sorry, I don't think I included all the code.
Here it is again, I also added the variable "checkedList" only so that valueList() would not have to be processed again and again in every loop...
Here it is again, I also added the variable "checkedList" only so that valueList() would not have to be processed again and again in every loop...
<cfset checkedList = valueList(AppInformation.DBID)>
<cfoutput query="Select_DB">
<cfif listFind(checkedList,Select_DB.DID)>
<cfinput type="checkbox" checked="yes" name="Insert_DB" value="#Select_DB.DID#"><cfoutput>11111 - #Select_DB.DID#</cfoutput> <br>
<cfelse>
<cfinput type="checkbox" checked="No" name="Insert_DB" value="#Select_DB.DID#"><cfoutput>22222 - #Select_DB.DID#</cfoutput> <br>
</cfif>
</cfoutput>
ASKER
hmm,
something is still wrong, it loop again and again
something is still wrong, it loop again and again
ASKER
This works but I need to put the name how can I do this :
<cfset checkedList = valueList(AppInformation.DBID)>
<cfset checkList = valueList(Select_DB.DID)> // How can I put the name "Select_DB.DName"
<cfloop index="i" list="#checkList#">
<cfif listFind(checkedList,i)>
<cfinput type="checkbox" checked="yes" name="Insert_DB" value="#i#"><cfoutput>11111 - #Select_DB.DName#</cfoutput><br>
<cfelse>
<cfinput type="checkbox" checked="no" name="Insert_DB" value="#i#"><cfoutput>222 - #Select_DB.DName#</cfoutput><br>
</cfif>
</cfloop>
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
You could simplify your code by use of ListContains. This returns 0 if not found in a list.
<cfoutput query="Select_DB">
<cfinput type="checkbox" checked="#ListContains(che ckedList,S elect_DB.D ID)#" name="Insert_DB" value="#Select_DB.DID#">11 111 - #Select_DB.DID#<br/>
</cfoutput>
You may find following working example useful:
<cfset entity = QueryNew ("entityid, entity","integer,varchar") />
<cfset tt=QueryAddRow(entity,1 )/>
<cfset tt=QuerySetCell (entity, "entityid", 1)/>
<cfset tt=QuerySetCell (entity, "entity", "entity 1")/>
<cfset tt=QueryAddRow(entity,1 )/>
<cfset tt=QuerySetCell (entity, "entityid", 2)/>
<cfset tt=QuerySetCell (entity, "entity", "entity 2")/>
<cfset tt=QueryAddRow(entity,1 )/>
<cfset tt=QuerySetCell (entity, "entityid", 3)/>
<cfset tt=QuerySetCell (entity, "entity", "entity 3")/>
<cfset tt=QueryAddRow(entity,1 )/>
<cfset tt=QuerySetCell (entity, "entityid", 4)/>
<cfset tt=QuerySetCell (entity, "entity", "entity 4")/>
<cfdump var="#entity#"/>
<cfset checkedList = "1,3,4"/>
<cfform name="f1">
<cfoutput query="entity">
<br/><cfinput type="checkbox" name="mychk" checked="#ListContains(che ckedList,e ntityid)#" value="#entityid#">#entity #</cfinput >
</cfoutput>
</cfform>
<cfoutput query="Select_DB">
<cfinput type="checkbox" checked="#ListContains(che
</cfoutput>
You may find following working example useful:
<cfset entity = QueryNew ("entityid, entity","integer,varchar")
<cfset tt=QueryAddRow(entity,1 )/>
<cfset tt=QuerySetCell (entity, "entityid", 1)/>
<cfset tt=QuerySetCell (entity, "entity", "entity 1")/>
<cfset tt=QueryAddRow(entity,1 )/>
<cfset tt=QuerySetCell (entity, "entityid", 2)/>
<cfset tt=QuerySetCell (entity, "entity", "entity 2")/>
<cfset tt=QueryAddRow(entity,1 )/>
<cfset tt=QuerySetCell (entity, "entityid", 3)/>
<cfset tt=QuerySetCell (entity, "entity", "entity 3")/>
<cfset tt=QueryAddRow(entity,1 )/>
<cfset tt=QuerySetCell (entity, "entityid", 4)/>
<cfset tt=QuerySetCell (entity, "entity", "entity 4")/>
<cfdump var="#entity#"/>
<cfset checkedList = "1,3,4"/>
<cfform name="f1">
<cfoutput query="entity">
<br/><cfinput type="checkbox" name="mychk" checked="#ListContains(che
</cfoutput>
</cfform>
ASKER
gdemaria Thank you!!!1
It works great!!!!!!!!
Wishing you and your family a happy holiday!!!!!! :-)
It works great!!!!!!!!
Wishing you and your family a happy holiday!!!!!! :-)
ASKER
Thank you
<cfif listFind(valueList(AppInfo
like this..
<cfif listFind(valueList(AppInfo
<cfinput type="checkbox" checked="yes" name="Insert_DB" value="#Select_DB.DID#"><c
<cfelse>
<cfinput type="checkbox" checked="No" name="Insert_DB" value="#Select_DB.DID#"><c
</cfif>