我在index.html:
<div data-role="fieldcontain" id="Container">
<ul id="my_ul" data-role="listview" data-filter="true" data-filter-reveal="true" data-filter-placeholder="Text" data-inset="true">
<li class="ui-screen-hidden"><a href="#">12</a></li>
<li class="ui-screen-hidden"><a href="#">123</a></li>
<li class="ui-screen-hidden"><a href="#">1234</a></li>
</ul>
</div>
JS:
$("#my_ul li").click(function() {
$('#Container form input').val($(this).text());
//$(this).hide();
});
因此,当我点击li时,来自li
的文本转到输入。如果我使用hide
- 该元素不会出现,当我删除输入中的sting时。
我需要 - 点击li
,输入li
apears中的文字,所有下拉列表li
隐藏,但如果我从输入中删除了字符串li
apears。怎么做?
感谢。
答案 0 :(得分:2)
您可以尝试此操作(选择后隐藏列表项目)
$("#my_ul li").click(function() {
$('#Container form input').val($.trim($(this).text()));
$('#my_ul').children().addClass('ui-screen-hidden');
});
答案 1 :(得分:0)
Hacky解决方案是自己处理隐藏和显示ul。
小提琴:http://fiddle.jshell.net/Qyvhc/8/
$("#my_ul li").click(function() {
$('#Container form input').val($(this).text());
$("#my_ul").hide();
});
$('#Container form input').on('focus', function () {
$("#my_ul").show();
});
我怀疑这是最好的解决方案,但我在API文档中看不到任何可以实现此目的的内容。
答案 2 :(得分:0)
我对JQuery很新,但希望这是你想要的。 Demo