2011-07-04 16 views
7

ヘッダー内に選択ボックスを追加する方法はありますか?Jquery Mobile:ヘッダー内のボックスを選択

私はこのコード

<div data-role="header" data-position="inline" data-theme="b"> 
    <h1>My Page</h1> 
    <select> 
     <option>Option 1</option> 
     <option>option 2</option> 
    </select> 
</div> 

でテストしているが、それは

編集は動作しません:質問はそれほど明確ではないので、

申し訳ありませんが。上記のコードでは、ヘッダーに選択ボックスがありますが、選択ボックスはページのタイトルの下に中央揃えされています。私はそれが欲しいです、選択は右側に(ヘッダーの中のボタンのように)配置されます。

| [back] --------タイトル----------- [select box] |

答えて

4

あなたは何を見ますか正確に見えませんか?私はあなたのコードをjQuery Mobileページに置きました。そして、私はページヘッダーに期待通りの選択フィールドを持っていました。ここでは、デスクトップとモバイルのSafari(iPadの)でOKチェックアウトし、私が使用するコードスニペット、です:

<body> 
    <div data-role="page" id="somepage" data-theme="c"> 
    <div data-role="header" data-position="inline" data-theme="b"> 
     <h1>My Page</h1> 
     <select> 
     <option>Option 1</option> 
     <option>option 2</option> 
     </select> 
    </div> 
    <!-- rest of page --> 
    </div> 
<body> 

EDITは 私はあなたがに実行し、問題がh1はもちろんのブロック要素であり、そうすることをだと思いますjQMがコードを実行すると、selectフィールドになります。ページがWebKitブラウザでレンダリングされた後にフィールドを調べると、jQMは余分なdivなどを適用します。つまり、選択フィールドはヘッダーと同じ行に簡単には存在できません。

ドキュメントによれば、ヘッダーに独自のdiv(つまり、jQMはそれを操作しようとしません)に配置してカスタムマークアップを試してから、自分でスタイリングする必要があります。 2つのリンクがあるヘッダーバーを作成するときには、これを行うのが一番効果的ですが、2番目の「ボタン」はリンクではないため、当然適用されません。selectフィールド:

ヘッダープラグインは、ヘッダーコンテナの直下の子を検索し、最初のリンクを左ボタンスロットに、2番目のリンクを右側に自動的に設定します。この例では、左のスロットに「キャンセル」ボタンが表示され、ソースの順番に基づいて右のスロットに「保存」が表示されます。

あなたはこのようなことをやってみることができますが、アプリでサポートしているデバイスをテストする必要があります(もちろん、スタイルをクラスに入れてください例示の目的のために、この方法):

<div data-role="header" data-position="inline" data-theme="b"> 
    <h1>My Page</h1> 
    <div data-role="fieldcontain" style="position: absolute; top: 0; right: 0; margin: 0; padding: 0"> 
    <select> 
     <option>Option 1</option> 
     <option>option 2</option> 
    </select> 
    </div> 
</div> 
... 
+0

私は – Peacemoon

+0

質問をより明確にするために私のポストを編集した私は、偉大な、私はアンドロイドのエミュレータとAndroidデバイス上でテストされ、私が望むように見えるファッジ-Y修正 – Ben

+0

で、答えにいくつかの編集を追加しました。ありがとう – Peacemoon

1

あなたはdata-role="none"私のために働いてアンカータグでそれをカプセル化し、実際の選択要素を使用したい場合。

<div data-role="header"> 
    <a data-role="none"> 
     <select> 
      <option value="1">Option One</option> 
      <option value="2">Option Two</option> 
     </select> 
    </a> 
</div> 
+0

Rahhhhhhh、これは選択のために私を助けなかったが、それは私にdata-role = "none"を発見させた。私はjquerymobileがどこにでもクラスを追加することを求める私なしで私のコードを適応させようとしていたのでとても怒っていました!!!ありがとう !! – Yahel

関連する問題