Эй поэтому у меня есть этот HTML (выводится через PHP цикла):Отключить выберите, если только одна опция доступна
<select class="dropdown" id="pa_genre" name="attribute_pa_genre">
<optgroup label="Choose an option:"></optgroup>
<option value="sport" selected="selected">Sport</option>
</select>
И этот JQuery (взято из Disable a <select /> if there is only one <option /> with jQuery):
$(document).ready(function(){
var $sca = $("select.dropdown");
if ($sca.find("option").length <= 1) {
$sca.prop('disabled', true);
}
});
но не может заставить его работать. У меня есть более одного раскрывающегося списка на странице с тем же классом (следовательно, почему таргетинг на класс не id). Я изменил attr
к prop
, потому что я уверен, что это новая версии и attr
не используются больше ..
Похоже, это [здесь] работает нормально (http://jsfiddle.net/BTpB9/) –
@AndrewWhitaker да, но у меня будет что-то вроде этого: http://jsfiddle.net/BTpB9/2/ – Ahhhhhhhhhhhhhdfgbv
Я думаю, что логика может быть немного испорчена, если у вас есть 2 элемента select.dropdown на странице, каждый из которых имеет по 1 опции, тогда результат $ sca.find ('option') будет равен 2, т. е. ни один из них не будет отключен. Я бы использовал каждый на начальном селекторе, чтобы обрабатывать каждый из них за раз. – OJay