为了不向两个搜索输入添加相同的值,您需要使用.closest()
、.next()
和.prev()
来定位它们.find()
。jQuery-Mobile,以不同的方式使用数据过滤器增强列表视图。
演示
<form>
<input>
</form>
<ul data-role="listview">
<li>
<a>text</a>
</li>
</ul>
位于的form
位置input
,与 位于同一层ul
。要定位该input
框,您需要使用.prev('form').find('input')
. 检查下面的演示和新代码。
$("input[data-type='search']").keyup(function () {
if ($(this).val() === '') {
$(this).closest('form').next("[data-role=listview]").children().addClass('ui-screen-hidden');
}
});
$('a.ui-input-clear').click(function () {
$(this).closest('input').val('');
$(this).closest('input').trigger('keyup');
});
$("li").click(function () {
var text = $(this).find('.ui-link-inherit').text();
$(this).closest('[data-role=listview]').prev('form').find('input').val(text);
$(this).closest('[data-role=listview]').children().addClass('ui-screen-hidden');
});