Есть скрипт, берущий с сервера список типов бумаги для выбранного её размера. Возникла необходимость обработки нескольких однотипных DIV, содержащих <SELECT> papersize. Предполагаю, что можно привязаться к parent, например вот так:
var currentblock = $(this).parent();
но увы, незнание JS мешает правильно доработать скрипт и выдать результат.
Как должна выглядеть конструкция
$('#papertype').html('');
для правильного вывода результата в parent?
Привожу полный скрипт и фрагмент HTML, в таком виде всё работает, но обновляет всегда первый SELECT papertype
$(document).ready(
function ($) {
$('.papersize').change(function () {
// здесь хочется var currentblock = $(this).parent();
var papersize = $(this).val();
if (papersize == '0') {
// а здесь и далее нужно попасть в этот самый currentblock
$('#papertype').html('');
$('#papertype').attr('disabled', true);
return(false);
}
$('#papertype').attr('disabled', true);
$('#papertype').html('<option>загрузка...</option>');
var url = 'paper.php';
$.get(
url,
"papersize=" + papersize,
function (result) {
if (result.type == 'error') {
alert('error');
return(false);
}
else {
var options = '';
$(result.papers).each(function() {
options += '<option value="' + $(this).attr('id') + '">' + $(this).attr('title') + '</option>';
});
$('#papertype').html(options);
$('#papertype').attr('disabled', false);
}
},
"json"
);
});
}
);
<SELECT class="papersize" name="papersize[]">
<OPTION value="0">- выберите формат -</OPTION>
<OPTION value="1">А5</OPTION>
<OPTION value="2">А4</OPTION>
<OPTION value="3">А3</OPTION>
<OPTION value="4">А2</OPTION>
</SELECT>
<SELECT id= "papertype" name="papertype[]">
<OPTION value="0">
Сюда вставляется ajаx-результат...
</OPTION>
</SELECT>