2011-11-10 80 views
3

我使用jQuery Mobile的framework.While的定製選擇菜單閱讀我發現我可以在兩個ways-如何在jQuery Mobile的添加標題定製選擇菜單

  • 添加標題中加入數據 - 該文檔一個選項中的placeholder =「true」(這可以工作,但對於選擇菜單的選項比較少,比如說5到10)
  • 另一種是使用標籤,但它使標籤的整個文本成爲選擇菜單的標題..

但在這種情況下,我得到Country*:作爲選擇菜單的標題,但它sh應該只有Country ... 我該怎麼做? 任何人有任何想法?
這是我努力的代碼...

<lable for="a1">Country*:</lable> 
<select data-native-menu="false" id="a1" > 
     <option>blah</options> 
     </select> 
+0

我很想知道標籤是否會作爲選擇菜單的標題而來,因爲我剛剛嘗試過一個示例,並且標籤沒有作爲標題出現。請您在此處發佈代碼示例。 – user700284

回答

3

文檔:

佔位符選項

是很常見的開發人員在在其選擇的 元素中包含「空」選項以強制用戶選擇一個選項。如果您的標記中包含佔位符選項 ,那麼jQuery Mobile會將它們隱藏在覆蓋 菜單中,僅向用戶顯示有效選項,並在菜單內將 佔位符文本顯示爲標題。是 加入一個佔位符選項時,框架發現:

沒有值屬性(或空值屬性)一種 選項沒有文本節點與data-placeholder="true" 屬性的選項的選項。 (這允許您使用具有值和選項的文本節點作爲佔位符選項)。你可以通過selectmenu插件的hidePlaceholderMenuItems選項禁用此功能 ,像這樣 :

$.mobile.selectmenu.prototype.options.hidePlaceholderMenuItems = false; 

它看起來像小列表使用佔位符選項和更大的名單使用的標籤。這可能是由於頁面顯示的方式。

當選擇有少量的,將適合的 設備的屏幕上的選項,菜單將顯示爲一個小的覆蓋與流行 過渡。

當設備的屏幕上顯示的選項過多時, 框架將自動創建一個新的「頁面」,其中填充了 標準列表視圖。這使我們可以使用設備上包含的原生 滾動瀏覽長列表。 標籤內的 文本用作此頁面的標題。

活生生的例子:

HTML

<div data-role="page" id="home"> 
    <div data-role="content"> 

     <span>The No Value Option<pre><code><option>Choose a State...</option></code></pre></span><br /> 
     <label for="select-choice-1" class="select">Your state:</label> 
      <select name="select-choice-1" id="select-choice-1" data-native-menu="false"> 
       <option>Choose a State...</option> 
       <option value="AL">Alabama</option> 
       <option value="AK">Alaska</option> 
       <option value="AZ">Arizona</option> 
       <option value="AR">Arkansas</option> 
       <option value="CA">California</option> 
       <option value="CO">Colorado</option> 
       <option value="CT">Connecticut</option> 
       <option value="DE">Delaware</option> 
       <option value="FL">Florida</option> 
       <option value="GA">Georgia</option> 
       <option value="HI">Hawaii</option> 
       <option value="ID">Idaho</option> 
       <option value="IL">Illinois</option> 
       <option value="IN">Indiana</option> 
       <option value="IA">Iowa</option> 
       <option value="KS">Kansas</option> 
       <option value="KY">Kentucky</option> 
       <option value="LA">Louisiana</option> 
       <option value="ME">Maine</option> 
       <option value="MD">Maryland</option> 
       <option value="MA">Massachusetts</option> 
       <option value="MI">Michigan</option> 
       <option value="MN">Minnesota</option> 
       <option value="MS">Mississippi</option> 
       <option value="MO">Missouri</option> 
       <option value="MT">Montana</option> 
       <option value="NE">Nebraska</option> 
       <option value="NV">Nevada</option> 
       <option value="NH">New Hampshire</option> 
       <option value="NJ">New Jersey</option> 
       <option value="NM">New Mexico</option> 
       <option value="NY">New York</option> 
       <option value="NC">North Carolina</option> 
       <option value="ND">North Dakota</option> 
       <option value="OH">Ohio</option> 
       <option value="OK">Oklahoma</option> 
       <option value="OR">Oregon</option> 
       <option value="PA">Pennsylvania</option> 
       <option value="RI">Rhode Island</option> 
       <option value="SC">South Carolina</option> 
       <option value="SD">South Dakota</option> 
       <option value="TN">Tennessee</option> 
       <option value="TX">Texas</option> 
       <option value="UT">Utah</option> 
       <option value="VT">Vermont</option> 
       <option value="VA">Virginia</option> 
       <option value="WA">Washington</option> 
       <option value="WV">West Virginia</option> 
       <option value="WI">Wisconsin</option> 
       <option value="WY">Wyoming</option> 
      </select> 


     <br /> 

     <span>The Placeholder Option<pre><code><option value="choose-one" data-placeholder="true">Choose one...</option></code></pre></span><br /> 
     <label for="select-choice-3" class="select">Your state:</label> 
      <select name="select-choice-3" id="select-choice-3" data-native-menu="false"> 
       <option value="choose-one" data-placeholder="true">Choose one...</option> 
       <option value="AL">Alabama</option> 
       <option value="AK">Alaska</option> 
       <option value="AZ">Arizona</option> 
       <option value="AR">Arkansas</option> 
       <option value="CA">California</option> 
       <option value="CO">Colorado</option> 
       <option value="CT">Connecticut</option> 
       <option value="DE">Delaware</option> 
       <option value="FL">Florida</option> 
       <option value="GA">Georgia</option> 
       <option value="HI">Hawaii</option> 
       <option value="ID">Idaho</option> 
       <option value="IL">Illinois</option> 
       <option value="IN">Indiana</option> 
       <option value="IA">Iowa</option> 
       <option value="KS">Kansas</option> 
       <option value="KY">Kentucky</option> 
       <option value="LA">Louisiana</option> 
       <option value="ME">Maine</option> 
       <option value="MD">Maryland</option> 
       <option value="MA">Massachusetts</option> 
       <option value="MI">Michigan</option> 
       <option value="MN">Minnesota</option> 
       <option value="MS">Mississippi</option> 
       <option value="MO">Missouri</option> 
       <option value="MT">Montana</option> 
       <option value="NE">Nebraska</option> 
       <option value="NV">Nevada</option> 
       <option value="NH">New Hampshire</option> 
       <option value="NJ">New Jersey</option> 
       <option value="NM">New Mexico</option> 
       <option value="NY">New York</option> 
       <option value="NC">North Carolina</option> 
       <option value="ND">North Dakota</option> 
       <option value="OH">Ohio</option> 
       <option value="OK">Oklahoma</option> 
       <option value="OR">Oregon</option> 
       <option value="PA">Pennsylvania</option> 
       <option value="RI">Rhode Island</option> 
       <option value="SC">South Carolina</option> 
       <option value="SD">South Dakota</option> 
       <option value="TN">Tennessee</option> 
       <option value="TX">Texas</option> 
       <option value="UT">Utah</option> 
       <option value="VT">Vermont</option> 
       <option value="VA">Virginia</option> 
       <option value="WA">Washington</option> 
       <option value="WV">West Virginia</option> 
       <option value="WI">Wisconsin</option> 
       <option value="WY">Wyoming</option> 
      </select> 

     <br /> 
     <span>Smaller Option</span><br /> 
     <label for="select-choice-6" class="select">Shipping method:</label> 
     <select name="select-choice-6" id="select-choice-6" data-native-menu="false"> 
      <option value="choose-one" data-placeholder="true">Choose shipping...</option> 
      <option value="standard">Standard: 7 day</option> 
      <option value="rush">Rush: 3 days</option> 
      <option value="express">Express: next day</option> 
      <option value="overnight">Overnight</option> 
     </select> 
    </div> 
</div> 
+0

這裏寫的和我在我的問題中寫的是一樣的...... – Vivek

+0

當select有少量適合設備屏幕的選項時,菜單將顯示爲帶彈出過渡的小覆蓋圖。 當設備的屏幕上顯示的選項過多時,框架會自動創建一個新的「頁面」,並填充選項的標準列表視圖。這允許我們使用設備上包含的本地滾動來移動長列表。標籤內的文本用作此頁面的標題。 –

0

我終於做了添加第二個標籤(#__ label_cboBancoR8),destinated可見給用戶,並保留用於選擇的原始標籤(#label_cboBancoR8)。事情是這樣的:

div id='contenedor_cboBancoR8' class='bloque select-opt mb20'> 
    <label id='__label_cboBancoR8' class='select'>BANCO</label> 
    <label id='label_cboBancoR8' for='cboBancoR8' class='select'>Selecciona tipo de banco</label> 
    <select name='cboBancoR8' id='cboBancoR8' data-native-menu='false' data-transition='none'> 
    <option value='-1' data-placeholder='true'>Selecciona tipo de banco</option> 
    </select> 
</div> 

後來我們隱藏原始標籤:

$('#label_cboBancoR8').hide(); 

結果是:

enter image description here

enter image description here

呃......希望對有同樣問題的人有幫助。

相關問題