Хорошо, это может немного сбить с толку, но здесь идет.Допустим, у меня есть несколько выпадающих списков на странице.
<select id="filter" name="filter[]">
<option value="">-- Select Filter --</option>
</select>
<select id="load_choice" name="load_choice[]">
<option value="">-- Select Load_choice --</option>
</select>
<select id="plastic" name="plastic[]">
<option value="">-- Select Plastic --</option>
</select>
Они динамически заполняются из базы данных запросом ajax.Каждый набор параметров выбора зависит от предыдущего выбора.Это всего лишь фрагмент всех выпадающих списков, но по сути их выбор создает «продукт».Вот javascript, который подключается к php (который подключается к БД).
$(document).ready(function() {
$('#filter').change(function(){
$('#load_choice').fadeOut();
$('#loader').show();
$.post("ajax/ajax_load_choice.php", {
country: $('#country').val(),
filter: $('#filter').val()
}, function(response){
setTimeout("finishAjax('load_choice', '"+escape(response)+"')", 400);
});
return false;
});
$('#load_choice').change(function(){
$('#plastic').fadeOut();
$('#loader').show();
$.post("ajax/ajax_plastic.php", {
country: $('#country').val(),
filter: $('#filter').val(),
load_choice: $('#load_choice').val()
}, function(response){
setTimeout("finishAjax('plastic', '"+escape(response)+"')", 400);
});
return false;
});
$('#plastic').change(function(){
$('#UG_tipping').fadeOut();
$('#loader').show();
$.post("ajax/ajax_UG.php", {
country: $('#country').val(),
filter: $('#filter').val(),
load_choice: $('#load_choice').val(),
plastic: $('#plastic').val()
}, function(response){
setTimeout("finishAjax('UG_tipping', '"+escape(response)+"')", 400);
});
return false;
});
});
function finishAjax(id, response){
$('#loader').hide();
$('#'+id).html(unescape(response));
$('#'+id).fadeIn();
}
}
СЕЙЧАС, скажем, я хочу добавить еще одну точно такую же форму с точно такими же параметрами выбора, чтобы "создать другой продукт "на той же странице (отсюда и массив в теге NAME для каждого выбора).Поскольку форма зависит от уникальных идентификаторов, как я могу сделать идентификаторы в этом фрагменте кода динамическими?
$('#filter').change(function(){
$('#load_choice').fadeOut();
$('#loader').show();
$.post("ajax/ajax_load_choice.php", {
country: $('#country').val(),
filter: $('#filter').val()
}, function(response){
setTimeout("finishAjax('load_choice', '"+escape(response)+"')", 400);
});
return false;
});
В итоге у меня будет 5 наборов этих выбранных групп, чтобы пользователь мог создать 5 продуктов.Как бы мне сделать так, чтобы мне не пришлось делать id = "filter1" и id = "filter2", чтобы совпадать с $ ('# filter'). Change (function .... blah blah blah. В принципе, могу ли ясделать идентификаторы в функции jquery динамическими?