1

さて、次のように 2 つの検索入力フィールドがあります。 検索フィールド

最初は2番目/一番下を非表示にしたいのですが、htmlの入力タグをdisplay: noneに設定すると、結果は次のようになります:

<input id="start" type="search" value="" placeholder="From">
<input id="end" type="search" value="" placeholder="To" style="display: none;">

与えます:ここに画像の説明を入力

そして、$(document).ready() で jQuery を使用して要素を動的に非表示にすることはできません。これらの入力は、まだ「レンダリング」されていない別の jQM ページにあるためです (jqm のスタイリングに関して)。 $('#end').parent().hide() は、両方の検索バーの親を非表示にします。

私が見る限り、私のオプションは、必要に応じて、またはjQMページレンダリングルーチンを中断/追加する方法がある場合に、その2番目の検索フォームを動的に作成しています。より良い方法があるに違いありませんが、私はそれを見つけることができませんでした!

提案を歓迎します:-)

4

1 に答える 1

1

そうです、もう一度、かなりの数のグーグル検索と検索の後に最終的に答えを見つけました。解決策は、ページを表示する直前にイベント jqm 呼び出しにバインドすることです (マークアップを適用した後):

$( '#mypage' ).on( 'pagebeforeshow',function(event){
    $("#end").parent().hide(); //hide the newly jqm-created div around my input
});

これは期待どおりの動作を示しました。これは (parent() を使用した) 最善のアプローチではないかもしれませんが、要点です。

誰かがより良い方法を思いついた場合に備えて、これを公式の回答として受け入れません。

于 2013-03-27T12:54:03.283 に答える