У меня есть этот код из примера, который я нашел полезным в Интернете. Он использует два списка, один слева, другой справа, и он разбивает элемент слева на правый и наоборот. Это HTML с отборным с опциями:Обнаружить, если список пуст (не имеет параметров)
<select id="SelectLeft" multiple="multiple">
<option value="1">Stack Overflow</option>
<option value="2">Server Fault</option>
<option value="3">Ask Ubuntu</option>
<option value="4">Super User</option>
</select>
<button id="MoveRight"> >> </button>
<button id="MoveLeft"> << </button>
<select id="SelectRight" multiple="multiple"></select>
Это Javascript для перемещения элементов между ListBoxes:
$(function() {
$("#MoveRight,#MoveLeft").click(function(event) {
var id = $(event.target).attr("id");
var selectFrom = id == "MoveRight" ? "#SelectLeft" : "#SelectRight";
var moveTo = id == "MoveRight" ? "#SelectRight" : "#SelectLeft";
var selectedItems = $(selectFrom + " :selected").toArray();
$(moveTo).append(selectedItems);
selectedItems.remove;
});
});
Как вы можете видеть, код просто определяет, какие выбраны элементы должны добавляться и удаляться в соответствии с нажатой кнопкой. Мне нужно определить, когда список справа («SelectRight») не имеет параметров. Например, в самом начале, когда ничего не было нажато, или если пользователь удаляет все элементы. Мне нужен способ обнаружить это, чтобы я мог инициировать процесс проверки, который у меня есть.
Я был не в духе! Надеюсь, вы можете помочь мне, спасибо =)
EDIT: Спасибо за ваши ответы, я обнаружил, что $("#SelectRight").is(":empty")
кажется, что мне нужно. Однако поведение это не то, что мне нужно ... Мне нужно событие, которое будет запускаться каждый раз, когда он будет опустошен. Например, если я делаю это:
if($("#SelectRight").is(":empty")) alert("It works?? =O");
Это предупреждение она отображается только при загрузке страницы, но если добавить, а затем удалить элемент, он не вызывает больше. Поэтому, я думаю, мне нужно добавить обработчик событий или что-то еще ... Может быть, JQuery .on()
или что-то?
Может кто-нибудь, пожалуйста, просветить меня? =) СПАСИБО!
Я никогда не использовал jsFiddle, но я видел, что они много используют, это здорово;) – Metafaniel
Это отвечает на мой отредактированный вопрос, который был моей главной проблемой! Даже если использование '$ (" # SelectRight "). (": Empty ")' кажется достаточно чистым, поведение, которое я хотел, выполнялось только с помощью .length <= 0', поскольку оно срабатывает только при полном опустошении списка. – Metafaniel