"隐藏"李点击

"Hide" li on click

本文关键字:quot 李点击 隐藏      更新时间:2023-09-26

fiddle

我在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,那么当我删除输入中的刺痛时,该元素不会出现。

我需要点击li,来自li的文本将显示在输入中,所有下拉列表li都将隐藏,但如果我从输入中删除了字符串,则li将显示。如何做到这一点?

谢谢。

您可以尝试此操作(选择后隐藏列表项)

$("#my_ul li").click(function() {
    $('#Container form input').val($.trim($(this).text()));
    $('#my_ul').children().addClass('ui-screen-hidden');
});

演示

破解解决方案是处理隐藏和显示自己的ul。

Fiddle: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文档中看不到任何可以实现这一点的东西。

我对JQuery很陌生,但希望这是您想要的。演示