www.webdeveloper.com
Results 1 to 12 of 12

Thread: Javascript populating drop down menus

  1. #1
    Join Date
    Dec 2009
    Posts
    51

    Javascript populating drop down menus

    Hi

    I am working on a project that has been passed onto me and I need a bit of help/guidance.

    A script has been written that returns the values from a database into an array. There are multiple drop down menus. The values returned can be viewed in the browser web console. The format looks like this:

    Code:
    Values: ["rb1”,”dropdown1,”Value1”] 
    Values: ["rb2”,”dropdown2”,”Value1","Value2","Value3”] 
    Values: ["rb3”,”dropdown3”,”Value1","","Value2”]
    Values: ["rb4”,”dropdown4”,”Value1","Value2","Value3”]
    These values needs to go in its own drop down menus (4 drop down menus)

    HTML Code:
     <select id="dropdown1" name="dropdown1">
           <option value=""> dropdown1 </option>
     </select>
    
     <select id="dropdown2" name="dropdown2">
           <option value=""> dropdown2 </option>
     </select>
    .
    .
    .
    Can anyone help me?
    Thanks

  2. #2
    Join Date
    Feb 2014
    Location
    Canada
    Posts
    155
    The process of populating a drop-down menu is actually straight-forward. For example, with 1 drop-down menu and 1 array (which is what you have, just duplicate it as many times as needed):

    Code:
    function populate() {
         var dropDown = document.getElementById("dropdown1");
         var display = new Array("1", "2", "3", "4");
         var values = new Array("5", "6", "7", "8");
         for(var i = 0; i < display.length; i++) {
              dropDown[dropDown.length] = new Option(display[i], values[i]);
         }
    }
    I'm guessing the 3rd to the nth values of each array would go into the <select>. I don't see the purpose of populating the name and IDs of each <select> when it would be easier to hard-code them (although I may be wrong). If I'm not wrong, then what does "rb" correspond to?

  3. #3
    Join Date
    Dec 2009
    Posts
    51
    Rb1 stands for radio button.

    When you click on a radio button - the correct drop down menu populates with data from the database.

    It can't be hard coded in as the drop down menus populate depending if something is in stock or not. All that part of the code is done and the correct values at returned.

    Each array goes into it's own drop down menu but I don't know how to target that list and append to the right select.
    All the data for the drop down menus are stored in $values.

    Hope that makes sense? Can you help? Or can I give more information to make it clear?

    Quote Originally Posted by Error404 View Post
    The process of populating a drop-down menu is actually straight-forward. For example, with 1 drop-down menu and 1 array (which is what you have, just duplicate it as many times as needed):

    Code:
    function populate() {
         var dropDown = document.getElementById("dropdown1");
         var display = new Array("1", "2", "3", "4");
         var values = new Array("5", "6", "7", "8");
         for(var i = 0; i < display.length; i++) {
              dropDown[dropDown.length] = new Option(display[i], values[i]);
         }
    }
    I'm guessing the 3rd to the nth values of each array would go into the <select>. I don't see the purpose of populating the name and IDs of each <select> when it would be easier to hard-code them (although I may be wrong). If I'm not wrong, then what does "rb" correspond to?

  4. #4
    Join Date
    Dec 2009
    Posts
    51
    I think I can explain this better - hope someone can help me!

    I need to put this array format into drop down menus:

    Values: ["radiobutton","dropdown1","value1"]
    Values: ["radiobutton","dropdown2","value1","value2","value3"]
    Values: ["radiobutton","dropdown3","value1","value2","value3","value4"]
    Values: ["radiobutton","dropdown4","value1","value2","value3"]

    This array is saved into $values...

    These values are returned dynamically from a database when "radiobutton" is selected. "dropdown1" is the drop drop menu name the values (in this case "value1") needs to go into.

    How can I iterate through the array and depending on the second value populate the drop down menu?
    so "dropdown2" will have values "value1", "value2" and "value3" in its drop down menu
    dropdown3 will have values "value1", "value2", "value3" and "value4" in its drop down menu etc...


    I only know how to simply put one array which is hardcoded in to a drop down and not depending (in this case) the second value in the array...

    Hope someone can help me?

  5. #5
    Join Date
    Dec 2005
    Location
    FL
    Posts
    7,435

    Lightbulb

    Looking over your last requirements, I do not see the need for 4 select boxes when you already have 4 radio buttons (?)
    Here is a solution you might be able to modify. Adjust the individual arrays from the information passed dynamically.

    Code:
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8" />
    
    <title> Untitled </title>
    
    </head>
    <body>
    <h2> Radio button selection of Select box displays</h2>
    <label><input type="radio" name="RBtn" onclick="document.getElementById('SBox').innerHTML=sBox1.toSBox('SBox')"> RBtn 1 </label><br>
    <label><input type="radio" name="RBtn" onclick="document.getElementById('SBox').innerHTML=sBox2.toSBox('SBox')"> RBtn 2 </label><br>
    <label><input type="radio" name="RBtn" onclick="document.getElementById('SBox').innerHTML=sBox3.toSBox('SBox')"> RBtn 3 </label><br>
    <label><input type="radio" name="RBtn" onclick="document.getElementById('SBox').innerHTML=sBox4.toSBox('SBox')"> RBtn 4 </label><p>
    
    <select id="SBox" onchange="showSelection(this.value)"></select>
    
    <script type="text/javascript">
    // For: http://www.webdeveloper.com/forum/showthread.php?292821-Javascript-populating-drop-down-menus
    
    Array.prototype.toSBox=function(IDS){ 
      var b = '';
          b += "<option value=''>Select:</option>";  // optional choice display
          b += "<option>"+this.join("<\/option>\n<option>")+"<\/option>\n";
      return b;
    }
    
    var sBox1 = ['RB1:value1','RB1:value2','RBtn1:value2'];
    var sBox2 = ['RB2:value1','RB2:value2','RBtn2:value2'];
    var sBox3 = ['RB3:value1','RB3:value2','RBtn3:value2'];
    var sBox4 = ['RB4:value1','RB4:value2','RBtn4:value2'];
    
    function showSelection(info) {
      if (info != '') { alert(info); }
    }
    
    </script>
    
    </body>
    </html>
    See what you might do with it. It could be modified for 4 individual dropdowns, but I'm not sure of the need.

  6. #6
    Join Date
    Dec 2009
    Posts
    51
    You have got the idea spot on - its exactly what I need.

    But.... the format of the array that I have been given is that the array is not in its own variable as you have in your code (sBox1, sBox2, sBox3 and sBox4).

    This is exactly the format I have to work with and is what I am struggling with...
    Values: ["radiobutton","dropdown1","value1"]
    Values: ["radiobutton","dropdown2","value1","value2","value3"]
    Values: ["radiobutton","dropdown3","value1","value2","value3","value4"]
    Values: ["radiobutton","dropdown4","value1","value2","value3"]

    When the user clicks on "radiobutton" 4 drop down menus appear. I want to populate those 4 drop down with only the values (not the first 2 in the array) I have been told I can use the second value in the array to populate the correct drop down menu but I'm sure how?!

    Its not possible for me to work with the array format I have been given is it?
    I would just like to make sure then I go back to the coder and see they can do anything...

    Looking forward to your response its an interesting one!

    Thanks a lot for your help.

    Quote Originally Posted by JMRKER View Post
    Looking over your last requirements, I do not see the need for 4 select boxes when you already have 4 radio buttons (?)
    Here is a solution you might be able to modify. Adjust the individual arrays from the information passed dynamically.

    Code:
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8" />
    
    <title> Untitled </title>
    
    </head>
    <body>
    <h2> Radio button selection of Select box displays</h2>
    <label><input type="radio" name="RBtn" onclick="document.getElementById('SBox').innerHTML=sBox1.toSBox('SBox')"> RBtn 1 </label><br>
    <label><input type="radio" name="RBtn" onclick="document.getElementById('SBox').innerHTML=sBox2.toSBox('SBox')"> RBtn 2 </label><br>
    <label><input type="radio" name="RBtn" onclick="document.getElementById('SBox').innerHTML=sBox3.toSBox('SBox')"> RBtn 3 </label><br>
    <label><input type="radio" name="RBtn" onclick="document.getElementById('SBox').innerHTML=sBox4.toSBox('SBox')"> RBtn 4 </label><p>
    
    <select id="SBox" onchange="showSelection(this.value)"></select>
    
    <script type="text/javascript">
    // For: http://www.webdeveloper.com/forum/showthread.php?292821-Javascript-populating-drop-down-menus
    
    Array.prototype.toSBox=function(IDS){ 
      var b = '';
          b += "<option value=''>Select:</option>";  // optional choice display
          b += "<option>"+this.join("<\/option>\n<option>")+"<\/option>\n";
      return b;
    }
    
    var sBox1 = ['RB1:value1','RB1:value2','RBtn1:value2'];
    var sBox2 = ['RB2:value1','RB2:value2','RBtn2:value2'];
    var sBox3 = ['RB3:value1','RB3:value2','RBtn3:value2'];
    var sBox4 = ['RB4:value1','RB4:value2','RBtn4:value2'];
    
    function showSelection(info) {
      if (info != '') { alert(info); }
    }
    
    </script>
    
    </body>
    </html>
    See what you might do with it. It could be modified for 4 individual dropdowns, but I'm not sure of the need.

  7. #7
    Join Date
    May 2006
    Location
    Somewhere behind your screen
    Posts
    1,672
    Code:
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8" />
    <title>123</title>
    <style>
    label,input{cursor:pointer;}
    b{color:Crimson;}
    .inl{display:inline;margin-left:15px;}
    </style>
    <script>
    /*
    since we know nothing about 
    the script which "has been written that returns the values from a database" 
    let the input data be a String
    */
    var inputString='Values: ["radiobutton","dropdown1","value1"]Values: ["radiobutton","dropdown2","value1","value2","value3"]Values: ["radiobutton","dropdown3","value1","value2","value3","value4"]Values: ["radiobutton","dropdown4","value1","value2","value3"]',
        prevalues=inputString.split('Values: ').slice(1),
    	values=[];
    /* this creates objects from each string */
    for(var i=0; i<prevalues.length; i++){
    values[values.length]=eval(prevalues[i]);
    }
    	
    function $(id){return document.getElementById(id);}
    
    onload=function(){
    var i=0,
        r=0;
    for(; i<values.length; i++){
    $('here').innerHTML+='<label for="rb_'+i+'"><input type="radio" name="'+values[i][0]+'" id="rb_'+i+'" value="'+i+'" />&nbsp;&nbsp;Show select <b>'+i+'</b></label><div class="inl" id="d_'+i+'"></div><br />';
    }
    while($('rb_'+r)!==null){
    $('rb_'+r).onchange=function(){
    var val=this.value,
        trg=$('d_'+val),
    	data=values[val].slice(1);
    /* creating a new select */
    trg.innerHTML='<select name="'+data[0]+'" id="'+data[0]+'"><option value="">Select</option></select>';
    /* adding options */
    for(var z=1;z<data.length;z++){
    $(data[0]).options.add(new Option(data[z],data[z]));
    }
    /* what the new select will do? */
    $(data[0]).onchange=function(){
    alert(this.value||'the very first option has no value');
    this.blur();
    }
    /* if we need to remove the other previously populated selects */
    var t=0;
    while($('d_'+t)!==null){
    if(t!=val){$('d_'+t).innerHTML='';}
    t++;
    }
    /* otherwise comment or remove the above lines */
    };
    r++;
    }
    }
    </script>
    </head>
    <body>
    <div id="here"></div>
    </body>
    </html>

  8. #8
    Join Date
    Dec 2009
    Posts
    51
    Many thanks Padonak!! Never fails to help me out!!

    Can we edit the code so its 1 radio button that shows the four drop down menus?
    and not one radio button per drop down menu?

    Do you mind clearing a few things up for me? Just so I have it right!...
    Whats happening here? Does it look for "Values:" to "split" up the array? and then how is it used?
    HTML Code:
    prevalues=inputString.split('Values: ').slice(1),
    	values=[];
    /* this creates objects from each string */
    for(var i=0; i<prevalues.length; i++){
    values[values.length]=eval(prevalues[i]);
    Does this part of the code get rid of the first value in the array?
    HTML Code:
    var val=this.value,
    trg=$('d_'+val),
    data=values[val].slice(1);
    Many thanks for your time on this!


    Quote Originally Posted by Padonak View Post
    Code:
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8" />
    <title>123</title>
    <style>
    label,input{cursor:pointer;}
    b{color:Crimson;}
    .inl{display:inline;margin-left:15px;}
    </style>
    <script>
    /*
    since we know nothing about 
    the script which "has been written that returns the values from a database" 
    let the input data be a String
    */
    var inputString='Values: ["radiobutton","dropdown1","value1"]Values: ["radiobutton","dropdown2","value1","value2","value3"]Values: ["radiobutton","dropdown3","value1","value2","value3","value4"]Values: ["radiobutton","dropdown4","value1","value2","value3"]',
        prevalues=inputString.split('Values: ').slice(1),
    	values=[];
    /* this creates objects from each string */
    for(var i=0; i<prevalues.length; i++){
    values[values.length]=eval(prevalues[i]);
    }
    	
    function $(id){return document.getElementById(id);}
    
    onload=function(){
    var i=0,
        r=0;
    for(; i<values.length; i++){
    $('here').innerHTML+='<label for="rb_'+i+'"><input type="radio" name="'+values[i][0]+'" id="rb_'+i+'" value="'+i+'" />&nbsp;&nbsp;Show select <b>'+i+'</b></label><div class="inl" id="d_'+i+'"></div><br />';
    }
    while($('rb_'+r)!==null){
    $('rb_'+r).onchange=function(){
    var val=this.value,
        trg=$('d_'+val),
    	data=values[val].slice(1);
    /* creating a new select */
    trg.innerHTML='<select name="'+data[0]+'" id="'+data[0]+'"><option value="">Select</option></select>';
    /* adding options */
    for(var z=1;z<data.length;z++){
    $(data[0]).options.add(new Option(data[z],data[z]));
    }
    /* what the new select will do? */
    $(data[0]).onchange=function(){
    alert(this.value||'the very first option has no value');
    this.blur();
    }
    /* if we need to remove the other previously populated selects */
    var t=0;
    while($('d_'+t)!==null){
    if(t!=val){$('d_'+t).innerHTML='';}
    t++;
    }
    /* otherwise comment or remove the above lines */
    };
    r++;
    }
    }
    </script>
    </head>
    <body>
    <div id="here"></div>
    </body>
    </html>

  9. #9
    Join Date
    May 2006
    Location
    Somewhere behind your screen
    Posts
    1,672
    Quote Originally Posted by pc_mac View Post
    Whats happening here? Does it look for "Values:" to "split" up the array? and then how is it used?
    HTML Code:
    prevalues=inputString.split('Values: ').slice(1),
    	values=[];
    /* this creates objects from each string */
    for(var i=0; i<prevalues.length; i++){
    values[values.length]=eval(prevalues[i]);
    Does this part of the code get rid of the first value in the array?
    HTML Code:
    var val=this.value,
    trg=$('d_'+val),
    data=values[val].slice(1);
    1. Yes, it is splitting the given String (which is not an array!) using 'Values: ' as a delimiter. When it is done, we have prevalues filled with the splitting results, smth like this:
    Code:
    [radiobutton,dropdown1,value1]
    [radiobutton,dropdown2,value1,value2,value3]
    [radiobutton,dropdown3,value1,value2,value3,value4]
    [radiobutton,dropdown4,value1,value2,value3]
    Each line is a String, not an object. You can alert(typeof prevalues[any index]); to make sure. That's why we need eval() which evaluates or executes an argument. This is how we get values filled with objects.

    2. Yes. Please read http://www.w3schools.com/jsref/jsref_slice_array.asp to learn more about this method, because i am not much of an explanator and my english is still lame ))

    And here is your code:

    Code:
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8" />
    <title>123</title>
    <style>
    label,input{cursor:pointer;}
    #showhide{position:absolute;top:10px;right:20px;}
    b,select{margin-left:10px;}
    </style>
    <script>
    /*
    since we know nothing about 
    the script which "has been written that returns the values from a database" 
    let the input data be a String
    */
    var inputString='Values: ["radiobutton","dropdown1","value1"]Values: ["radiobutton","dropdown2","value1","value2","value3"]Values: ["radiobutton","dropdown3","value1","value2","value3","value4"]Values: ["radiobutton","dropdown4","value1","value2","value3"]',
        prevalues=inputString.split('Values: ').slice(1),
    	values=[];
    /*
    uncomment this to see prevalues
    
    alert(prevalues.join('\n'));
    alert(typeof prevalues[0]);
    */
    
    /* this creates objects from each string */
    for(var i=0; i<prevalues.length; i++){
    values[values.length]=eval(prevalues[i]);
    }
    /*
    uncomment this to see values
    
    alert(values.join('\n'));
    alert(typeof values[1]);
    */
    function $(id){return document.getElementById(id);}
    
    onload=function(){
    $('showhide').onclick=function(){
    var trg=$('here'),
        txt=this.value;
    if(trg.innerHTML!=''){trg.innerHTML='';}
    else{
    for(var i in values){
    var data=values[i].slice(1);
    /* creating a new select */
    trg.innerHTML+='<b>'+data[0]+'</b><select name="'+data[0]+'" id="'+data[0]+'"><option value="">Select</option></select>';
    /* adding options */
    for(var z=1;z<data.length;z++){
    $(data[0]).options.add(new Option(data[z],data[z]));
    }
    }
    }
    this.value=txt=='Show'?'Hide':'Show';
    }
    }
    </script>
    </head>
    <body>
    <input type="button" id="showhide" value="Show" />
    <div id="here"></div>
    </body>
    </html>
    greetings from Russia

  10. #10
    Join Date
    Dec 2009
    Posts
    51
    Many thanks for the explanations (your english is definitely not lame!) and thank you so much for the code it's working great but when I put into my project it doesn't work

    This is because there are quote marks before and after the string like this: (I didn't think this would be a problem! really sorry about that)

    "Values: ["radiobutton","dropdown1","value1"]"
    "Values: ["radiobutton","dropdown2","value1","value2","value3"]"
    "Values: ["radiobutton","dropdown3","value1","value2","value3","value4"]"
    "Values: ["radiobutton","dropdown4","value1","value2","value3"]"
    Is there a way around it? thanks for your time and help on this - thanks to you I'm nearly there!!!

    I have one final question if its not any trouble as you seemed to have understood exactly what I need!!!

    Can I use a loop to identity which radio button is clicked to run the unload/onclick function you've written? i.e. when radio button 2 is clicked or radio button 3 clicked and so on....

    "Values: ["radiobutton2","dropdown1","value1"]"
    "Values: ["radiobutton2","dropdown2","value1"]"
    "Values: ["radiobutton2","dropdown3","value1","value2","value3"]"
    "Values: ["radiobutton2","dropdown4","value1","value2","value3","value4"]"
    or

    "Values: ["radiobutton3","dropdown1","value1","value4"]"
    "Values: ["radiobutton3","dropdown2","value1","value2"]"
    "Values: ["radiobutton3","dropdown3","value1","value2","value3"]"
    "Values: ["radiobutton3","dropdown4","value1","value2"]"

    radio button id's are "radiobtn1", "radiobtn2" and "radiobtn3" etc...

    so close, nearly there! I am truly grateful this has been a project I was losing hope with and you've really helped me out so honestly thanks again.


    Quote Originally Posted by Padonak View Post
    1. Yes, it is splitting the given String (which is not an array!) using 'Values: ' as a delimiter. When it is done, we have prevalues filled with the splitting results, smth like this:
    Code:
    [radiobutton,dropdown1,value1]
    [radiobutton,dropdown2,value1,value2,value3]
    [radiobutton,dropdown3,value1,value2,value3,value4]
    [radiobutton,dropdown4,value1,value2,value3]
    Each line is a String, not an object. You can alert(typeof prevalues[any index]); to make sure. That's why we need eval() which evaluates or executes an argument. This is how we get values filled with objects.

    2. Yes. Please read http://www.w3schools.com/jsref/jsref_slice_array.asp to learn more about this method, because i am not much of an explanator and my english is still lame ))

    And here is your code:

    Code:
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8" />
    <title>123</title>
    <style>
    label,input{cursor:pointer;}
    #showhide{position:absolute;top:10px;right:20px;}
    b,select{margin-left:10px;}
    </style>
    <script>
    /*
    since we know nothing about 
    the script which "has been written that returns the values from a database" 
    let the input data be a String
    */
    var inputString='Values: ["radiobutton","dropdown1","value1"]Values: ["radiobutton","dropdown2","value1","value2","value3"]Values: ["radiobutton","dropdown3","value1","value2","value3","value4"]Values: ["radiobutton","dropdown4","value1","value2","value3"]',
        prevalues=inputString.split('Values: ').slice(1),
    	values=[];
    /*
    uncomment this to see prevalues
    
    alert(prevalues.join('\n'));
    alert(typeof prevalues[0]);
    */
    
    /* this creates objects from each string */
    for(var i=0; i<prevalues.length; i++){
    values[values.length]=eval(prevalues[i]);
    }
    /*
    uncomment this to see values
    
    alert(values.join('\n'));
    alert(typeof values[1]);
    */
    function $(id){return document.getElementById(id);}
    
    onload=function(){
    $('showhide').onclick=function(){
    var trg=$('here'),
        txt=this.value;
    if(trg.innerHTML!=''){trg.innerHTML='';}
    else{
    for(var i in values){
    var data=values[i].slice(1);
    /* creating a new select */
    trg.innerHTML+='<b>'+data[0]+'</b><select name="'+data[0]+'" id="'+data[0]+'"><option value="">Select</option></select>';
    /* adding options */
    for(var z=1;z<data.length;z++){
    $(data[0]).options.add(new Option(data[z],data[z]));
    }
    }
    }
    this.value=txt=='Show'?'Hide':'Show';
    }
    }
    </script>
    </head>
    <body>
    <input type="button" id="showhide" value="Show" />
    <div id="here"></div>
    </body>
    </html>
    greetings from Russia

  11. #11
    Join Date
    Feb 2014
    Location
    Canada
    Posts
    155
    Quote Originally Posted by pc_mac View Post
    This is because there are quote marks before and after the string like this: (I didn't think this would be a problem! really sorry about that)
    You can use a slice function on each String or variable, depending how it's initially being retrieved.

    Code:
         var str = "12345a";
         str.slice(0, -1); // removes the last character
         str.slice(1, str.length); // removes the first character
    Quote Originally Posted by pc_mac View Post
    Can I use a loop to identity which radio button is clicked to run the unload/onclick function you've written? i.e. when radio button 2 is clicked or radio button 3 clicked and so on....
    You don't need a loop to do this. The quickest way is to edit your HTML and add an onClick attribute. For example:

    HTML Code:
    <script type = "text/javascript">
    function jsFunction(x) {
          var sel1 = document.getElementById("sel1");      
          var sel2 = document.getElementById("sel2");
          switch(x) {
              case "rb1":
                 sel1.style.visibility = "visible";
                 sel2.style.visibility = "hidden";
                 break;
             case "rb2":
                 sel2.style.visibility = "visible";
                 sel1.style.visibility = "hidden";
                 break;
         }
    }
    
    window.onload = function() {
        var container = document.getElementById("selectContainer");
        for(var i = 0; i < (container.children.length); i++) {
             document.getElementsByTagName("select")[i].style.visibility = "hidden";
        }
    }
    </script>
    <input type = "radio" onClick = "jsFunction(this.id)" id = "rb1" />
    <div id = "selectContainer">
        <select id = "sel1">
             <option value = "1">1</option>
        </select>
        <select id = "sel2">
             <option value = "2">2</option>
        </select>
    </div>
    In the HTML portion, the "this.id" gets the current HTML element that was selected. The .id gets the value of the ID attribute and passes it to the JavaScript function. Since "this" is a keyword in HTML and JavaScript, we need to represent the value of "this.id" by a variable when we create the function, such as x. You can either use if-else statements but I chose to use switch statements.

    In the window.onload, none of the <select> statements will be displayed to the user until a radio button is clicked. Alternatively, you could write an equivalent in CSS. All the <select> are in a <div> for the purpose of doing this as well as if you want to apply any CSS styling to your page, the <div> may make it easier and more organized. If you don't want a <div>, then you can give each <select> their own class attribute.

    I haven't put these changes into the code provided by Padonak because they're minor and it helps you to learn by changing it around rather than just using what we provide.

  12. #12
    Join Date
    Dec 2009
    Posts
    51
    Thank you for your help

    I really appreciate it!!
    Last edited by pc_mac; 04-06-2014 at 08:32 AM.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles