I have two Drop Down Lists, the second ones are based off which one the users selects in the first drop down. I was going to use Javascript to dynamically change the second drop down. But now here comes the problem. This information is going to be stored on a user's profile. So ideally I would like to be able to pull this information out of MySQL database and display it on a PHP page. How would I go about loading the proper dynamic menu when I populate the list from MySQl. How can I accomplish this the way I want. I dont think javascript would work in this case would it?
问题:
回答1:
If you don't want a page refresh, then the answer is "JavaScript". Now, you have a couple of options there. Personally, I prefer to load more up front, so I keep a JSON object which outlines the possibilities and then I swap static content for static content.
This would mean that onchange I would have something like:
var first = document.getElementById( "id of first select" )
var items = possibilities[
first.value // you can also do things with selectedIndex and options if needs.
];
var second = document.getElementById( "id of second select" )
for( var i in items )
{
var opt = document.createElement('option');
opt.setAttribute('value', items[ it ] );
second.appendChild( opt );
}
Your other option is to send data "over the wire" and get it working through AJAX. Not having room for a tutorial, I think I can safely link you to this one.
回答2:
You certainly can do this with JavaScript. It is called AJAX. Most people will use a JavaScript framework like jQuery to abstract out some of the issues with using the XMLHTTPRequest object to establish a connection with your server and request/receive data.
You still work out the server side code in PHP and MySQL, you just use AJAX to call on the data and work with it.