Можно проверить, есть ли в Listview (jQuery Mobile) Collapsible?

0

У меня есть случайное число collapsibles внутри элемента listview. Я хотел бы знать, что если есть способ "знать", если в listview есть какие-то collapsibles прежде чем перейти к следующей странице.

Эта скрипка в значительной степени представляет то, что у меня есть до сих пор.

Я бы хотел, чтобы какая-то проверка на стороне клиента, которая проверила бы, добавит ли "пользователь" "лекарства" в список (в складной форме), прежде чем продолжить.

Я пробовал играть с этим кодом:

$("#medListLi").find('div[data-role=collapsible]')....;

Но, похоже, не может точно знать, как правильно подойти к решению.

Возможно, я смотрю на это неправильно, любые предложения будут очень оценены.

  • 1
    ("#medListLi").find('div[data-role=collapsible]').length если возвращает ноль, то нет складных объектов. Иначе, он вернет количество складных.
Теги:
jquery-mobile
jquery-mobile-listview

2 ответа

1
Лучший ответ

Селектор, который вам предоставил только что .length прикреплен к нему следующим образом:

$("#medListLi").find('div[data-role=collapsible]').length

При использовании селектора jQuery с добавлением.length в конец всегда возвращается количество согласованных элементов.

Таким образом, вышесказанное вернет 0, если нет совпадений 1, если есть один и т.д....

Чтобы использовать это в статусе if, вам нужно всего лишь:

if ($("#medListLi").find('div[data-role=collapsible]').length > 0) {
    // submit
} else {
    // error (no collapsibles)
}
1

Я думаю, вам нужно условие JavaScript, которое будет оценивать true если ваш #medListLi содержит #medListLi элемент:

if ( $("#medListLi").find('div[data-role=collapsible]').length ) {
    //yup, their is something collapsible in here
}

Этот код выполняет следующие действия:

  1. выберите элемент с идентификатором #medListLi внутри этого элемента,
  2. найти любой div который имеет атрибут data-role установленный на "разборный",
  3. jQuery возвращает любые такие элементы в массиве; свойство .length JavaScript вернет 0 или некоторое положительное число, которое будет оценено как false (для 0) или true (для любого другого положительного числа).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню