TalkPHP
 
 
Account Login
Latest Articles
» The basic usage of PHPTAL, a XML/XHTML template library for PHP
» Vulnerable methods and the areas they are commonly trusted in.
» Simple way to protect a form from bot
» The Basics On: How Session Stealing Works
» How to keep your forms from double posting data
IRC Channel
IRC Speech Bubble Join the friendly bunch on IRC...
(#TalkPHP on Freenode)

...Also available via a web interface.

See this thread for information on the TalkPHP Free Hugs Initiative™. Subject to availability.
Associates
Associates
CSS Tutorials
Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old 09-19-2011, 10:11 AM   #1 (permalink)
The Visitor
 
Join Date: Sep 2011
Posts: 2
Thanks: 1
Fivelow is on a distinguished road
Default Zend framework, mysql and jquery dynamic select boxes

I want to be able to change the value of the second select box based on the input in the fist select box.

As an example, if a person selects USA from the first select box they should only be able to choose from 'napa' or 'paso robles' in the second select box. If they click on France in the first select box they should only be allowed to choose from 'Bordeaux' or 'Provance' in the second select box.

Both select boxes are loaded from a mysql database, adding another layer of neck pain to the equation. I think this will require something like jquery and I'm just not any good at that.

I feel there is probably a really easy way to do this, but between my lack of real javascript skills and this being a zend framework form I'm just not sure how to trigger the database pulls to change the options in the second select box without reloading the page.

Help, anybody? Beuller... Bueller...
Fivelow is offline  
Reply With Quote
Old 09-19-2011, 06:45 PM   #2 (permalink)
The Acquainted
 
wGEric's Avatar
 
Join Date: Nov 2007
Posts: 166
Thanks: 0
wGEric is on a distinguished road
Default

Setup an onchange event on the first checkbox. Use AJAX to load the values for the second checkbox depending on the value of the first checkbox. Populate the second checkbox with the data returned from AJAX.

jQuery would make it really easy to do. Here is something to get you started. I have not tested the code.

javascript Code:
$('#checkbox1').change(function() {
    var value = $(this).val(),
        checkbox2 = $('#checkbox2'),
        params = {};
       
    // make checkbox 2 show that it is loading and disable it
    checkbox2.html('<option>Loading...</option>').attr('disabled', true);
   
    // set values for ajax call
    switch (value) {
        case 'one':
            params.foo = 'one';
        break;
   
        case 'two':
            params.foo = 'two';
        break;
    }
   
    // make ajax call
    $.post('path/to/script', params, function(data) {      
        // set checkbox2 values and enable
        checkbox2.html(data).attr('disabled', false);
    });
});
__________________
Eric
wGEric is offline  
Reply With Quote
The Following User Says Thank You to wGEric For This Useful Post:
Fivelow (09-20-2011)
Old 09-21-2011, 05:19 AM   #3 (permalink)
The Visitor
 
Join Date: Sep 2011
Posts: 2
Thanks: 1
Fivelow is on a distinguished road
Default

BUHUWAHAHAHAHA! It's ALIVE!!! Worked like a champ. Thanks Bro.
Fivelow is offline  
Reply With Quote
Old 12-09-2011, 10:55 AM   #4 (permalink)
The Visitor
 
Join Date: Oct 2011
Location: Web designing in ludhiana
Posts: 1
Thanks: 0
smartwebcare is on a distinguished road
Default

nice coding
Send a message via Skype™ to smartwebcare
smartwebcare is offline  
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT. The time now is 06:45 AM.

 
     

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0
Inactive Reminders By Icora Web Design