我在网上搜索了很多,但无法找到任何解决方案.我正在制作一个webapp,我想要2个文本框来从用户那里获取数据.我想在此文本框中使用自动完成功能.自动完成的标记列表可在本地获得.我尝
我试过这个jsfiddle.net/ULXbb/48/.但是这个问题是我在1个listview中选择了一些东西后,listview得到了相同的值.
为了不向两个搜索输入添加相同的值,您需要使用.closest()
,
.next()
,
.prev()
和
.find()
来定位它们.jQuery-Mobile以不同的方式使用数据过滤器增强列表视图.
07004
<form> <input> </form> <ul data-role="listview"> <li> <a>text</a> </li> </ul>
输入所在的表单与ul的级别相同.要定位输入框,您需要使用.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'); });