0

collapsibles我在一个listview元素中有一个随机数。我想知道的是,在进入下一页之前,是否有一种“知道”其中是否listview有任何内容的方法。collapsibles

这个小提琴几乎代表了我到目前为止所拥有的。

我想要某种客户端验证,在继续之前检查“用户”是否已将“药物”添加到列表中(以可折叠的形式)。

我试过玩这段代码:

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

但似乎不知道如何正确处理解决方案。

也许我正在以错误的方式解决这个问题,任何建议将不胜感激。

4

2 回答 2

1

我认为你想要一个 JavaScript 条件,true如果你#medListLi包含一个可折叠的元素,它将评估:

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

此代码执行以下操作:

  1. 在该元素中选择 id 为#medListLi的元素,
  2. 查找属性设置为“可折叠”的任何div内容data-role
  3. jQuery 在一个数组中返回任何这样的元素;JavaScript 属性将.length 返回一个 0 或某个正数,它被评估为 false(对于 0)或 true(对于任何其他正数)。
于 2013-11-29T19:04:03.300 回答
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)
}
于 2013-11-29T19:05:39.793 回答