-1

フィドル

私は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。どうやってするか?

ありがとう。

4

3 に答える 3

2

これを試すことができます(選択後にリスト項目を非表示にするには)

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

デモ。

于 2013-07-25T12:19:52.670 に答える
0

ハッキーな解決策は、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 ドキュメントには何も表示されません。

于 2013-07-25T11:46:31.627 に答える