Я разрабатываю бэкэнд для клиента, и у меня есть <select />
s, который работает вместе. В частности, у меня есть 3 <select />
для выбранной страны, провинции и города (для Испании), который работает и с другими странами.Отключить <select />, если есть только один <option /> с jQuery
Если выбранный вариант в стране - Испания, провинция будет заселена, и если выбран провинция, город будет заселен. Если в стране выбрана другая страна, провинция и город будут отключены без опции, но со значением по умолчанию <option value="0">-- Select--</option>
.
Когда выбрана страна/провинция/город, выполняется транзакция ajax для получения результатов. Контроллер PHP анализ результатов, и если есть результаты (только для Испании) возвращает это (заполнить область):
<option value="0" >-- Select --</option>
<option value="1" >Andalucía</option>
<option value="2" >Aragón</option>
<option value="3" >Asturias</option>
...
Если нет никаких результатов для страны не выбраны, то контроллер возвращается:
<option value="0" >-- Select --</option>
Мой вопрос: как я могу это обработать, если есть ТОЛЬКО параметр со значением 0, добавьте attr («disabled», true); ?
Мой реальный код JavaScript:
$(document).ready(function(){
$("select#codpais").change(function() {
var codpais = $(this).val();
if (0 != codpais) {
$.post(BASE_URL + 'projects/ajax/get_autonomias', { codpais: codpais }, function(data) {
if (data) {
$("select#codauto").attr('disabled', false);
$("select#codauto").html(data);
}
});
}
});
});
Проблема заключается в том, что контроллер всегда возвращает данные, потому что сайт является двуязычным, и некоторые пользователи должны видеть - Выберите - и другие - Seleccionar - - (если тоже отключено).
Спасибо заранее!
спасибо. Лучше иметь селектор в var? – udexter
Каждый раз, когда вы делаете выбор, он требует циклов производительности, но если вы кешируете этот выбор в var, это не так. Поэтому, если вы вызываете один и тот же селектор несколько раз, вы должны сохранить его в var. – mVChr