?
Solved

cf_threeselectscombo?

Posted on 2004-11-03
15
Medium Priority
?
512 Views
Last Modified: 2013-12-24
anyone know of (or interested in $ to build?) a cf_threeselectscombo?

in the manner of the NateWeiss cf_twoselectscombo - I need three! where I can select the contents of box 1 - and move bi-directionally into box 2 ... which displays the content I can bi-directionally select into box 3.

many thanks.
R
0
Comment
Question by:rcbuchanan
  • 8
  • 5
  • 2
15 Comments
 
LVL 35

Expert Comment

by:mrichmon
ID: 12488430
yes.

Macromedia Extentions Exchange (Note I shortened the URLs, but they are from the official Macromeida site)

2 Related Selects:
http://tinyurl.com/2fa2k

3 Related Selects :
http://tinyurl.com/ys839
0
 

Author Comment

by:rcbuchanan
ID: 12488492
No. I don't think you read me post as well as might.
I understand the 3 and 2 related SELECTS ...

but i need the abilities of the CF_twoselectsCOMBO (but for THREE combo boxes, not TWO!)
i.e. I need to be able to select contents of THREE combo boxes with bi-directional move from / to abilities.

R
0
 
LVL 35

Expert Comment

by:mrichmon
ID: 12488630
oh I see sorry.

I think that when you add in the last part of your request "with bi-directional move from / to abilities" that you are getting more complex than what is out there.  I think you would have to write this or have someone do so for you (which I know you also mentioned was an option up above).

Sorry I don't know of anything that does this that is readily available
0
Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

 
LVL 25

Expert Comment

by:James Rodgers
ID: 12508930
I am working on a cf solution for this but in the mean time here is some js that can be added to any page and will work for n number of selects, you just need to code in the function calls in the form elements, the cf will allow for dynamic element creation based on the elements of a list - should be done later

here the js version

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
     <title>Untitled</title>
<script>
var obj;
function lateralShift(selFrom, selTo) {
    var i ;
       with (document.forms[0]) {
            SelRight = selFrom.selectedIndex;
         
            if ((SelRight >= 0)  && (selFrom.selectedIndex < selFrom.options.length)) {
        selTo.options[selTo.options.length] = new Option(selFrom.options[SelRight].text, selFrom.options[SelRight].value);

        with (selFrom) {
          for (i=SelRight; i < options.length; i++) {
                        if (i < options.length-1)
              options[i] = new Option(options[i+1].text, options[i+1].value);
                      }
          options.length --;

          if (SelRight < options.length) selectedIndex = SelRight;
                        else selectedIndex = options.length - 1;
        }
       
               }
          }
     }

     
function verticalShift(objSel, vDir){
var Sel, SelTo, Last, TempT, TempV;
 
       with (document.forms[0]) {
            Sel   = objSel.selectedIndex;
            SelTo = objSel.selectedIndex + vDir;
               Last  = objSel.options.length;

               if ((Sel > 0) && (Sel < Last - 1) || (Sel >= 0) && (vDir==1)) {
           with (objSel) {              
          TempT = options[Sel].text;
          TempV = options[Sel].value;
          options[Sel] = new Option( options[SelTo].text, options[SelTo].value);
          options[SelTo] = new Option( TempT, TempV );
                         selectedIndex = SelTo;
                    }    
               }    
          }
    //#Attributes.OnChange#;


}

</script>
</head>

<body>
<form name="myForm" method="post" action="" onsubmit="">
<TABLE><TR VALIGN="top"><TD>

<SELECT NAME="mySel1" ID="trak" SIZE="10" STYLE="width:100" MULTIPLE onClick="obj=this" onDblClick="lateralShift(this, this.form.mySel2)">
 <OPTION VALUE="">Select an option to move</option>
 <OPTION VALUE="">1</option>
 <OPTION VALUE="">11</option>
 <OPTION VALUE="">111</option>
 <OPTION VALUE="">1111</option>
 <OPTION VALUE="">11111</option>
 <OPTION VALUE="">111111</option>
 <OPTION VALUE="">1111111</option>
 <OPTION VALUE="">11111111</option>
 <OPTION VALUE="">111111111</option>
 <OPTION VALUE="">1111111111</option>
</SELECT></TD><TD>

  <INPUT TYPE="BUTTON" VALUE=">>" onClick="lateralShift(this.form.mySel1, this.form.mySel2)"><BR>
  <INPUT TYPE="BUTTON" VALUE="<<" onClick="lateralShift(this.form.mySel2, this.form.mySel1)">

</TD><TD>

<SELECT NAME="mySel2" SIZE="10" STYLE="width:100" MULTIPLE onChange="" onClick="obj=this" onDblClick="lateralShift(this.form.mySel2, this.form.mySel1)">
  <OPTION VALUE="">

</SELECT></TD><TD>

  <INPUT TYPE="BUTTON" VALUE=">>" onClick="lateralShift(this.form.mySel2, this.form.mySel3)"><BR>
  <INPUT TYPE="BUTTON" VALUE="<<" onClick="lateralShift(this.form.mySel3, this.form.mySel2)">

</TD><TD>

<SELECT NAME="mySel3" SIZE="10" STYLE="width:100" MULTIPLE onChange="" onClick="obj=this" onDblClick="lateralShift(this.form.mySel2, this.form.mySel1)">
  <OPTION VALUE="">

</SELECT></TD><TD>
  <INPUT TYPE="BUTTON" VALUE="UP" onClick="verticalShift(obj,-1)"><BR>
  <INPUT TYPE="BUTTON" VALUE="DN" NAME="BtnDn" onClick="verticalShift(obj,1)">

</TD></TR></TABLE>


 


</form>
</body>
</html>
0
 

Author Comment

by:rcbuchanan
ID: 12509765
Looks great. I'll give it a go!
The CF version would be terrific!
0
 
LVL 25

Expert Comment

by:James Rodgers
ID: 12525445
ok... here it is in cf... handles 2 to n selects
still needs some more work but is fully functional
here is the call

<HTML>
  <HEAD><TITLE>MultiSelectsCombo Demo</TITLE></HEAD>
</HTML>

<BODY>
<FORM ACTION="Whatever.cfm" METHOD="POST" onSubmit="">

  <CF_MultiSelectsCombo
    SELECTNAMELIST="L1,L4,L5,L2,l3"
      SELECTCAPTIONLIST="L1,L3,L23,L41,L4"
      SELECTVALUESLIST="1,2,3,4,5"
      SELECTDISPLAYLIST="One,Two,Three,Four,Five"
      SELECTWIDTHLIST="150px"
    SELECTSIZE="6"  
  >
 <INPUT TYPE="SUBMIT">

</FORM>

</BODY>

save the following as MultiSelectsCombo.cfm in the custom tag directory or in the same directory in whic you are running the code


<!--- SUSPEND OUTPUT TO ELIMINATE WHITESPACE --->
<CFSETTING ENABLECFOUTPUTONLY="YES">

<!--- TAG PARAMETERS --->
<CFPARAM NAME="Attributes.SELECTNAMELIST">
<CFPARAM NAME="Attributes.SELECTCAPTIONLIST">
<CFPARAM NAME="Attributes.SELECTVALUESLIST" DEFAULT="">
<CFPARAM NAME="Attributes.SELECTDISPLAYLIST">
<CFPARAM NAME="Attributes.SELECTSIZE" DEFAULT="6">
<CFPARAM NAME="Attributes.SELECTWIDTHLIST" DEFAULT="150px">
<CFPARAM NAME="Attributes.Up" DEFAULT="Yes">
<CFPARAM NAME="Attributes.Down" DEFAULT="Yes">
<CFPARAM NAME="Attributes.Left" DEFAULT="Yes">
<CFPARAM NAME="Attributes.Right" DEFAULT="Yes">
<CFPARAM NAME="Attributes.UpText" DEFAULT="Up">
<CFPARAM NAME="Attributes.DownText" DEFAULT="Dn">
<CFPARAM NAME="Attributes.LeftText" DEFAULT="<<">
<CFPARAM NAME="Attributes.RightText" DEFAULT=">>">
<CFPARAM NAME="Attributes.FormName" DEFAULT="forms[0]">
<CFPARAM NAME="Attributes.AutoInit" DEFAULT="Yes">
<CFPARAM NAME="Attributes.DblClick1" DEFAULT="Yes">
<CFPARAM NAME="Attributes.DblClick2" DEFAULT="Yes">
<CFPARAM NAME="Attributes.Delimiter" DEFAULT=",">

<cfif listLen(Attributes.SELECTNAMELIST) GTE 2>
<cfif listLen(Attributes.SELECTNAMELIST) EQ listLen(Attributes.SELECTCAPTIONLIST)>
<cfif listLen(Attributes.SELECTVALUESLIST) EQ listLen(Attributes.SELECTDISPLAYLIST) and listLen(Attributes.SELECTVALUESLIST)>
<CFHTMLHEAD TEXT="
<script>
var obj;
function lateralShift(selFrom, selTo) {
    var i ;
        with (document.#Attributes.FormName#) {
              SelRight = selFrom.selectedIndex;
            
            if ((SelRight >= 0)  && (selFrom.selectedIndex < selFrom.options.length)) {
              selTo.options[selTo.options.length] = new Option(selFrom.options[SelRight].text, selFrom.options[SelRight].value);

              with (selFrom) {
                     for (i=SelRight; i < options.length; i++) {
                                  if (i < options.length-1)
                          options[i] = new Option(options[i+1].text, options[i+1].value);
                          }
                      options.length --;

                      if (SelRight < options.length) selectedIndex = SelRight;
                          else selectedIndex = options.length - 1;
              }
       
            }
      }
}

      
function verticalShift(objSel, vDir){
var Sel, SelTo, Last, TempT, TempV;
 
        with (document.#attributes.FormName#) {
            Sel   = objSel.selectedIndex;
            SelTo = objSel.selectedIndex + vDir;
            Last  = objSel.options.length;

                  if ((Sel >= 0 && vDir==1 && Sel < Last -1) || (Sel <= Last && Sel > 0 && vDir ==-1)) {
            with (objSel) {                  
          TempT = options[Sel].text;
          TempV = options[Sel].value;
          options[Sel] = new Option( options[SelTo].text, options[SelTo].value);
          options[SelTo] = new Option( TempT, TempV );
                              selectedIndex = SelTo;
                        }      
                  }      
            }
}

</script>
">
<cfoutput>

<TABLE><TR VALIGN="top"><TD>
#listFirst(ATTRIBUTES.SELECTCAPTIONLIST)#<SELECT NAME="#listFirst(ATTRIBUTES.SELECTNAMELIST)#" SIZE="#ATTRIBUTES.SELECTSIZE#" STYLE="width:#listFirst(Attributes.SELECTWIDTHLIST)#" MULTIPLE onClick="obj=this" onDblClick="lateralShift(this, this.form.#listGetAt(Attributes.SELECTNAMELIST,2)#)">
 <cfloop from="1" to="#listLen(Attributes.SELECTDISPLAYLIST)#" index="idx">
       <option value="<cfif listLen(Attributes.SELECTVALUESLIST)>#listGetAt(Attributes.SELECTVALUESLIST,idx)#</cfif>">#listGetAt(Attributes.SELECTDISPLAYLIST,idx)#</option>
 </cfloop>
</SELECT></TD><TD>

  <INPUT TYPE="BUTTON" VALUE="#Attributes.RightText#" onClick="lateralShift(this.form.#listGetAt(ATTRIBUTES.SELECTNAMELIST,1)#, this.form.#listGetAt(ATTRIBUTES.SELECTNAMELIST,2)#)"><BR>
  <INPUT TYPE="BUTTON" VALUE="#Attributes.LeftText#" onClick="lateralShift(this.form.#listGetAt(ATTRIBUTES.SELECTNAMELIST,2)#, this.form.#listGetAt(ATTRIBUTES.SELECTNAMELIST,1)#)">

</TD>
<cfloop from="2" to="#evaluate(listLen(ATTRIBUTES.SELECTNAMELIST)-1)#" index="idx">

<TD>
#listGetAt(ATTRIBUTES.SELECTCAPTIONLIST,idx)#<SELECT NAME="#listGetAt(ATTRIBUTES.SELECTNAMELIST,idx)#" SIZE="#ATTRIBUTES.SELECTSIZE#" STYLE="width:#listFirst(Attributes.SELECTWIDTHLIST)#" MULTIPLE onClick="obj=this" onDblClick="lateralShift(this, this.form.#listGetAt(Attributes.SELECTNAMELIST,idx+1)#)">
</SELECT></TD><TD>

  <INPUT TYPE="BUTTON" VALUE="#Attributes.RightText#" onClick="lateralShift(this.form.#listGetAt(ATTRIBUTES.SELECTNAMELIST,idx)#, this.form.#listGetAt(ATTRIBUTES.SELECTNAMELIST,idx+1)#)"><BR>
  <INPUT TYPE="BUTTON" VALUE="#Attributes.LeftText#" onClick="lateralShift(this.form.#listGetAt(ATTRIBUTES.SELECTNAMELIST,idx+1)#, this.form.#listGetAt(ATTRIBUTES.SELECTNAMELIST,idx)#)">

</TD>
</cfloop>
<TD>

#listLast(ATTRIBUTES.SELECTCAPTIONLIST)#<SELECT NAME="#listLast(ATTRIBUTES.SELECTNAMELIST)#" SIZE="#ATTRIBUTES.SELECTSIZE#" STYLE=STYLE="width:#listLast(Attributes.SELECTWIDTHLIST)#" MULTIPLE onChange="" onClick="obj=this" onDblClick="">

</SELECT></TD><TD>
  <INPUT TYPE="BUTTON" VALUE="UP" onClick="verticalShift(obj,-1)" style="width:25px"><BR>
  <INPUT TYPE="BUTTON" VALUE="DN" NAME="BtnDn" onClick="verticalShift(obj,1)" style="width:25px">

</TD></TR></TABLE>
</cfoutput>
<cfelse>
      <cfoutput>Error: SELECTVALUESLIST contains #listLen(Attributes.SELECTVALUESLIST)# values,<br>SELECTDISPLAYLIST list contains #listLen(Attributes.SELECTDISPLAYLIST)# values.<br>The lists must contain the same number of items.</cfoutput>
</cfif>
<cfelse>
      <cfoutput>Error: SELECTNAMELIST contains #listLen(Attributes.SELECTNAMELIST)# values,<br>SELECTCAPTIONLIST list contains #listLen(Attributes.SELECTCAPTIONLIST)# values.<br>The lists must contain the same number of items.</cfoutput>
</cfif>
<cfelse>
      <cfoutput>Error: SELECTNAMELIST contains #listLen(Attributes.SELECTNAMELIST)# values;<br>A minimum of two values must be provided.</cfoutput>
</cfif>
<!--- RESUME NORMAL OUTPUT --->
<CFSETTING ENABLECFOUTPUTONLY="NO">
0
 
LVL 25

Expert Comment

by:James Rodgers
ID: 12532610
rbuchanan,
hows this working out?
0
 

Author Comment

by:rcbuchanan
ID: 12533657
sorry jester, was out of town travelling yesterday.
shall try your terrific code today and will respond asap.

thanks again!
R
0
 
LVL 25

Expert Comment

by:James Rodgers
ID: 12533794
no need to apologize...
0
 

Author Comment

by:rcbuchanan
ID: 12536817
Jester:
Well - it's looking like it should ... but I do have a couple of questions, if I may.

Firstly, and minorly, :
I called the function as this:

<FORM ACTION="Whatever.cfm" METHOD="POST" onSubmit="">

  <CF_MultiSelectsCombo
    SELECTNAMELIST="demo,value,select"
      SELECTCAPTIONLIST="demo,value,select"
    SELECTVALUESLIST="1,3,2,4,5,6,7,10,12,15,8"
    SELECTDISPLAYLIST="One,Three,Two,Four,Five,Six,Seven,Ten,Twelve,Fifteen,Eight"
    SELECTWIDTHLIST="150px"
    SELECTSIZE="20"  
  >
 <INPUT TYPE="SUBMIT">


The THIRD combo box ('select') width is not 150px. Rather it adjusts its width to the width of the value inside it - verus the fixed (150px) width of box 1 & 2.

More importantly, ...

I'm NOT sure how to do this:

In BOX 1 ... I need to show these values (to be selected)
- gender
- age
- marital status
- country
- state
- occupation
- political skew
- income
- education
- ethnicity
- religion.

SO - when the user CLICKS on 'STATE' in Box 1 (demo) ... Box 2 (value) displays the VALUES from the STATE selection (i.e. AZ, IL, WI, MA, MN etc).

WHEN the user clicks a STATE in Box 2 (value) ... that selected value is moved to BOX3 (select).

SO - if I THEN click on Box 1 (demo) - Education ... Box 2 (value) shows the values from Education ("some college", "high school", "graduate" etc)


Does this make sense?
I hope this is not over expecting.  I can use the CF you provided ... for other tasks I think.

The VALUES from ABOVE, btw, are label / code / datasets in my  mySQL database.

Richard
0
 
LVL 25

Accepted Solution

by:
James Rodgers earned 2000 total points
ID: 12537268
width issue
in the last section of teh code there is a select with listlast, in the code for that select i have style=style=, typo causes teh select to get screwed up. just remove one of the style=

the second part is more complicated, i reviewed the code at teh nate weiss site and just augmented it for more than 2 selects, what you are looking for is a combination of cf_twoselectsrelated and cf_twoselectscombo  it can be done but it will take a while, and it will all need to be done client side as to refresh from the db after each seklection in the first box would require a lot of codiong to keep the existing selected values in place.
0
 
LVL 25

Expert Comment

by:James Rodgers
ID: 12538031
check this, see if it helps, it will take time to make it all cf but you can populate the initial javascript array with 1 or more cfqueries

<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title>
        Untitled
    </title>
<script language="JavaScript" type="text/javascript">
var obj;
function lateralShift(selFrom, selTo) {
    var i ;
        with (document.forms[0]) {
              SelRight = selFrom.selectedIndex;
            
            if ((SelRight >= 0)  && (selFrom.selectedIndex < selFrom.options.length)) {
              selTo.options[selTo.options.length] = new Option(selFrom.options[SelRight].text, selFrom.options[SelRight].value);

              with (selFrom) {
                     for (i=SelRight; i < options.length; i++) {
                                  if (i < options.length-1)
                          options[i] = new Option(options[i+1].text, options[i+1].value);
                          }
                      options.length --;

                      if (SelRight < options.length) selectedIndex = SelRight;
                          else selectedIndex = options.length - 1;
              }
       
            }
      }
}

      
function verticalShift(objSel, vDir){
var Sel, SelTo, Last, TempT, TempV;
 
        with (document.forms[0]) {
            Sel   = objSel.selectedIndex;
            SelTo = objSel.selectedIndex + vDir;
            Last  = objSel.options.length;

                  if ((Sel >= 0 && vDir==1 && Sel < Last -1) || (Sel <= Last && Sel > 0 && vDir ==-1)) {
            with (objSel) {                  
          TempT = options[Sel].text;
          TempV = options[Sel].value;
          options[Sel] = new Option( options[SelTo].text, options[SelTo].value);
          options[SelTo] = new Option( TempT, TempV );
                              selectedIndex = SelTo;
                        }      
                  }      
            }
}


      var arrItems = new Array();
     var isVisible=0;
     function listItem(itemGroup, itemValue, itemText){
          this.itemGroup=itemGroup;
          this.itemValue=itemValue;
          this.itemText=itemText;
     }
     
     function populateSubList(groupID, objSub){
//this block clears the current listings in the second dropdown, if the dropdown has any
          objSub.selectedIndex=0;
          isVisible=0;
          if(objSub.options.length>0){
               for (x=objSub.options.length; x>=0; x--){
                    objSub.options[x]=null;
               }
          }
//this block populates the second drop down, by matching the selected value of dropdown 1
//to the lookup value of the list items
          for(x=0; x < arrItems.length; x++){
               if(arrItems[x].itemGroup==groupID){
                    listOpt = document.createElement("option") ;
                    listOpt.value = arrItems[x].itemValue ;
                    listOpt.text = arrItems[x].itemText ;
                    objSub.add(listOpt) ;
               }
          }

     }
     
// arrayItem = new listItem(lookupcode, listItem value, listItem Text)
// arrayItem = new listItem(categorycode, productcode, product text)
     arrItems[arrItems.length] = new listItem("M","M1","Suzuki");
     arrItems[arrItems.length] = new listItem("M","M3","Honda");
     arrItems[arrItems.length] = new listItem("M","M6","Titan");
     arrItems[arrItems.length] = new listItem("M","M4","Buccatti");
     arrItems[arrItems.length] = new listItem("M","M5","BMW");
     arrItems[arrItems.length] = new listItem("M","M2","Harley Davidson");
     arrItems[arrItems.length] = new listItem("C","C29","Corvette");
     arrItems[arrItems.length] = new listItem("C","C13","Ferrarri");
     arrItems[arrItems.length] = new listItem("C","C7","Lamborghini");
     arrItems[arrItems.length] = new listItem("C","C99","Viper");
     arrItems[arrItems.length] = new listItem("C","C4","Mustang");
     arrItems[arrItems.length] = new listItem("C","C20","GTO");
     arrItems[arrItems.length] = new listItem("C","C21","De Lorean");
     arrItems[arrItems.length] = new listItem("P","P1","Cessna");
     arrItems[arrItems.length] = new listItem("P","P23","767");
     arrItems[arrItems.length] = new listItem("P","P31","Airbus");
     arrItems[arrItems.length] = new listItem("P","P17","SST");
     arrItems[arrItems.length] = new listItem("P","P33","Sea Harrier");
     arrItems[arrItems.length] = new listItem("P","P10","F16");
     arrItems[arrItems.length] = new listItem("B","B34","Row Boat");
     arrItems[arrItems.length] = new listItem("B","B3","Cigarette Boat");
     arrItems[arrItems.length] = new listItem("B","B25","Fishing Boat");
     arrItems[arrItems.length] = new listItem("B","B19","Cabin Cruiser 6");
     arrItems[arrItems.length] = new listItem("T","T11","Hummer");
       arrItems[arrItems.length] = new listItem("M1","M1A","Bike1");
       arrItems[arrItems.length] = new listItem("M1","M1B","Bike2");
       arrItems[arrItems.length] = new listItem("M1","M1C","Bike3");
       arrItems[arrItems.length] = new listItem("M1","M1D","Bike4");
       arrItems[arrItems.length] = new listItem("M1","M1E","Bike5");
       arrItems[arrItems.length] = new listItem("M1","M1F","Bike6");
</script>
</head>
   <body>        
      <form name="frmGetTracker" action="displayTracker.cfm?RequestTimeout=500" onsubmit="" method="get">
           <table cellspacing="1" cellpadding="1" border="0" width="400" bgcolor="D8DFF3">
                <tr valign="top">
                     <td width="50%">
                          <table cellspacing="1" cellpadding="1" border="0" align="centre">
                               <caption>     View By :
                               </caption>
                               <tr valign="top">
                                    <td align="center">
                                         <select name="VOPT" style="width:160" onChange="populateSubList(this.value, document.frmGetTracker.VID)">
                                              <option value="0" selected>--Select Vehicle Type</option>
                                              <option value="M">Motorcycle</option>
                                              <option value="C">Car</option>
                                              <option value="T">Truck</option>
                                              <option value="B">Boat</option>
                                              <option value="P">Plane</option>
                                         </select>
                                    </td>
                               </tr>
                          </table>
                     </td>
                     <td>
                          <table cellspacing="1" cellpadding="1" border="0" width="100%">
                               <caption>     Select Name :
                               </caption>
                               <tr>
                                    <td align="center">
                                         <select name="VID" style="width:160" multiple size="6">
                                        </select>
                                    </td>
                               </tr>
                          </table>
                     </td>
                              
                              <td>
                                    <table>
                                          <caption>&nbsp;</caption>
                                          <tr>
                                    <TD>

  <INPUT TYPE="BUTTON" VALUE=">>" onClick="lateralShift(this.form.VID, this.form.L4)"><BR>
  <INPUT TYPE="BUTTON" VALUE="<<" onClick="lateralShift(this.form.L4, this.form.VID)">

</TD>


<TD>
L3<SELECT NAME="L4" SIZE="6" STYLE="width:150px" MULTIPLE onClick="obj=this" onDblClick="lateralShift(this, this.form.L5)">
</SELECT></TD><TD>

  <INPUT TYPE="BUTTON" VALUE=">>" onClick="lateralShift(this.form.L4, this.form.L5)"><BR>
  <INPUT TYPE="BUTTON" VALUE="<<" onClick="lateralShift(this.form.L5, this.form.L4)">

</TD>


<TD>
L23<SELECT NAME="L5" SIZE="6" STYLE="width:150px" MULTIPLE onClick="obj=this" onDblClick="lateralShift(this, this.form.L2)">
</SELECT></TD><TD>
  <INPUT TYPE="BUTTON" VALUE="UP" onClick="verticalShift(obj,-1)" style="width:25px"><BR>
  <INPUT TYPE="BUTTON" VALUE="DN" NAME="BtnDn" onClick="verticalShift(obj,1)" style="width:25px">

</TD></table>
                              </td></tr>
                              



                </tr>
           </table>
      </form>
   </body>
</html>
0
 
LVL 25

Expert Comment

by:James Rodgers
ID: 12538065
heres an example of populating the array with cfqueries

<cfoutput query="getRegMgr">arrItems[arrItems.length] = new listItem("R","#REGID#","#REGMGR#");
      </cfoutput>
      <cfoutput query="getDivMgr">arrItems[arrItems.length] = new listItem("D","#MGRID#","#DIVMGR#");
      </cfoutput>

like i said turning it into a custom tag would take a more time
0
 
LVL 25

Expert Comment

by:James Rodgers
ID: 12545364
did you check out my last 2 posts?
0
 

Author Comment

by:rcbuchanan
ID: 12549604
yes, thanks Jester. it certainly makes sense!
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Question has a verified solution.

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

In our day to day coding, how many times have we come across a necessity to check whether a URL is a broken link or not? For those of you that answered countless and are using ColdFusion like myself, then this article is for you.  It will show yo…
If you don't have the right permissions set for your WordPress location in IIS, you won't be able to perform automatic updates. Here's how to fix the problem.
Are you ready to place your question in front of subject-matter experts for more timely responses? With the release of Priority Question, Premium Members, Team Accounts and Qualified Experts can now identify the emergent level of their issue, signal…
With just a little bit of  SQL and VBA, many doors open to cool things like synchronize a list box to display data relevant to other information on a form.  If you have never written code or looked at an SQL statement before, no problem! ...  give i…
Suggested Courses

862 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