Filter Dropdown Based On Other Dropdown Selection
Solution 1:
jquery can't run php on the page once it is loaded. You could use ajax, running the query to get the second set of options from another file.
<selectid="collector"><?php//code to generate initial collector options ?></select><selectid="date"><option>--Bill Date--</option></select>
In your jquery, target the first dropdown and then use load() to call a php file
$(document).ready(function(){
$("#collector").on('change', function(){
filterItems(this.value);
});
});
functionfilterItems(value){
var destination = "#date";
var url = "path/to/filterCode.php?v="+value;
$(destination).load(url);
});
In the filterCode php file, get the value selected by the user
$selectedCollector = $_GET['v'];
Then use $selectedCollector to query your database and get the appropriate date options.
Then, inside your results loop:
echo'<option class="'.$date['Date'].'" value="'.$date['Date'].'">'.$date['Date'].'</option>';
The load() will take these echoed options and put them into #date.
Solution 2:
I think you need to populate #date
drop-down based on #collector
drop-down value, according to me best option is ajax.
here some basic example,
<selectid="collector"><optionvalue=""></option></select>
jut think this as your #collector
drop-down there will be some options based on your data. Now you need to populate #date
drop-down,
<selectid="collector"><optionvalue=""></option></select>
In page load you can load all the data if you want.
when #collector
drop-down change you can send ajax request and retrieve data from database based on #collector
value, like this
$("#collector").on('change', function(){
$.ajax({
type: method,
url: url,
data: data,
success: function(response) {
//populate select box
}
});
});
Below links will be helpful,
Post a Comment for "Filter Dropdown Based On Other Dropdown Selection"