Ответ 1
Один из способов сделать это:
if ($('#myselect option').length == 0) {
$('#myselect').hide();
}
Как проверить с помощью jquery, если у параметра есть параметры, и если он не отключает его и показывает [нет элементов]?
Один из способов сделать это:
if ($('#myselect option').length == 0) {
$('#myselect').hide();
}
var $select = $('input:select option');
if(!$select.length )
$select.attr('disabled', true);
Или:
$('select:not(:has(option))').attr('disabled', true);
Другой способ сделать это просто использовать функцию jQuery имеет
if ($('#myselect').has('option').length == 0)
{
// Hide and disable select input here
}
Информацию о функции jQuery с см. в: https://api.jquery.com/has/
select:not(:has(option))
- селектор, который вы ищете. Вы можете использовать его, чтобы найти пустое поле выбора, отключить их, а затем добавить опцию "Нет опции" или какое-то подобное сообщение - например:
var noOptions = $('<option/>').html('No options');
$('select:not(:has(option))').attr('disabled',true).append(noOptions);
Здесь показан живой пример: http://jsfiddle.net/f3myz/
если у вас есть пустая опция, вы можете:
#Allways you must have the empty option
if ($("select#your_class").children().size() == 1) {
alert("Without options")
$("select#your_class").hide()
} else {
alert("With options")
$("select#your_class").show()
$('select.class>option').size()
ИЛИ если ваш выбор имеет идентификатор, а не класс
$('select#id>option').size()
он покажет вам, сколько вариантов внутри
Я проверил это, и это сработало отлично, надеюсь, это поможет:
if($("#myselect").html() == ""){
$("#myselect").html("<option>[not items]</option>");
$("#myselect").addProp("disabled","disabled");
}