Както казахте, че нямате опит с jQuery или Ajax, ще публикувам отговора си с възможно най-много коментари. Предполагам, че имате две падащи менюта за избор на вашата страница.
Първият съдържа строителите, така че ще има id="builders"
.
Вторият съдържа регионите, така че ще има id="regions"
.
Доколкото разбирам, първият избор ще бъде точно този, който сте публикували във вашия въпрос, генериран от страна на сървъра (от PHP). Само ви моля да направите лека промяна в него, като всяка стойност на опцията бъде равна на ID на базата данни на създателя, а не на нейното име (освен ако първичният ключ на създателя не е тяхното име, а не ID). Това няма да има значение за крайния потребител, но ще бъде важно за нашето решение jQuery. Вторият ще бъде празен, тъй като идеята е да се запълни динамично с регионите, свързани с конструктора, избран в първото падащо меню.
А сега да преминем към кода на jQuery:
//Everything that goes below this first line will be ready as soon as the page is fully loaded
$(document).ready(function() {
//The following code defines an event. More precisely, we are defining that the code inside it will run every time our select with id "builders" has its value changed
$('#builders').change(function() {
//$(this) is our builders select. $(this).val() contains the selected value, which is the ID of our selected builder
var currentValue = $(this).val();
//Now, this is our Ajax command that will invoke a script called get_regions.php, which will receive the builder's ID in $_GET['builder_id'] and you can use to query your database looking for all regions related to this builder. Make sure to create an array with the returned regions. Your get_regions.php's last line should be echo json_encode($regions);
$.get("get_regions.php", {'builder_id': currentValue}, function(data) {
//Inside this function is the code that will run when we receive the response from our PHP script. It contains a JSON encoded list of regions, so first of all we need to parse this JSON
var regions = $.parseJSON(data);
//Before filling our second select dropdown with the regions, let's remove all options it already contains, if any
$('#regions').empty();
//Now, all there is left is to loop over the regions, adding each as an option of the regions dropdown. I'll do it the universal way
for (var i = 0; i < regions.length; i++) {
var regionOption = '<option value="'+regions[i]['region_name']+'">';
regionOption += regions[i]['region_name'];
regionOption += '</option>';
$('#regions').append(regionOption);
}
});
});
});
Въпреки всички синтактични грешки (не мога да тествам кода оттук), това трябва да свърши работа. Надяваме се, че коментарите са били достатъчно ясни, за да разберете как работят нещата в jQuery.