我遇到了jQuery Mobile的問題。我想要在頂部使用搜索選項來製作一個自定義選擇框,就像jQuery手機中的ul一樣。我已經使用jQuery mobile創建了自定義選擇框,但無法在其上添加搜索欄。正是我想要的東西是這樣的:如何使用jQuery Mobile製作帶過濾器的自定義選擇框?
<!DOCTYPE html>
<html>
<head>
<link class="jsbin" href="http://code.jquery.com/mobile/1.0b2/jquery.mobile-1.0b2.min.css" rel="stylesheet" type="text/css" />
<script class="jsbin" src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
<script class="jsbin" src="https://github.com/downloads/aliok/jquery-mobile/jquery.mobile_selectmenu_filter_01.js"></script>
<title>JS Bin</title>
</head>
<body>
<div data-role="page">
<div data-role="content">
<h2>Select menu options filtering</h2>
<p>The mobile browsers are limited and sometimes it is annoying to scroll a long list. For this kind of selects, you can use <code>data-filter</code> attribute alongside with <code>data-force-dialog</code> and <code>data-native</code> attributes to have a select menu with search bar filtering its options.</p>
<a href="#" onclick="$('#select-choice-12').selectmenu('refresh', true); return false;">Refresh the selectmenu (forcerebuild) with clearing the filter value</a>
<div data-role="fieldcontain">
<label for="select-choice-12" class="select">Your state:</label>
<select name="select-choice-12" id="select-choice-12" data-native-menu="false" data-force-dialog="true" data-native-menu="false" data-filter="true">
<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>
</div>
You can see the source code at <a href="https://github.com/aliok/jquery-mobile/commits/selectmenu-forceDialog/">https://github.com/aliok/jquery-mobile/commits/selectmenu-forceDialog/</a>
<br/>
<br/>
Developed by <a href="http://twitter.com/aliok_tr">Ali Ok - @aliok_tr</a>
</div>
</div>
</body>
</html>
但隨着它與一個很老的版本jQuery Mobile的定製和我使用的是最新版本的問題。
你可以創造新的東西。在select元素上綁定一個click事件,當它被點擊時阻止默認行爲並使用帶搜索過濾器的listview打開一個對話框。當單擊列表視圖的元素時,更改select元素的值。 – alkis