先週の金曜日にこの問題に関する同様の質問を見つけましたが、再び見つけられないようです。誰かが私を正しい方向に向けることができれば、それは素晴らしいことです.
基本的に、ページに複数の選択メニューがあります。1 つ目はロード時に移入され、2 つ目は 1 つ目の選択を決定する際に移入されます。十分に単純です。
ただし、iOS デバイスでは、select 要素をタップすると、選択を行うための iOS スクローラーが起動します。誰かがネイティブの iOSprevious
またはnext
ボタンを使用している場合、次の<select>
入力は以前の選択データを収集しません。入力された結果が正確であるためには、物理的にタップしてからdone
次の選択メニューを起動する必要があります。
http://m.lemonfree.comという Web サイトがdone
あり、prev/next
. 基本的に、ユーザーに選択を強制しますdone
。
彼らがどのようにしてこの機能を実現したのか、非常に興味があります。
乾杯!
念のため、私のコードは次のとおりです。
<form method="post" action="list.php" class="striped-bg-inverted">
<p>
<label for="make">Make</label>
<select name="make" id="make" required="required">
<option selected>Select a Make</option>
<?php foreach ($usedMakes->MakeResult as $MakeResult) { ?>
<option value="<?php echo $MakeResult->makeId; ?>"><?php echo $MakeResult->makeName; ?></option>
<?php } ?>
</select>
</p>
<p>
<label for="model">Model</label>
<select name="model" id="model" required="required">
<option value="" selected>Select a Model</option>
</select>
</p>
<p>
<button name="submit" id="submit"> Submit </button>
</p>
</form>
私のJavaScript:
$("#make").change(function() {
var makeId = $(this).val();
$.ajax({
url: "process.inc.php?makeId=" + makeId,
type: "GET",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
var list = "";
for (i = 0 ; i < data.length; i++) {
var modelId = data[i].ModelResult.modelId;
var modelName = data[i].ModelResult.modelName;
list += "<option value=\"" + modelId + "\">" + modelName + "</option>";
};
var theSelect = $("#model");
theSelect.find("option:gt(0)").remove();
theSelect.append(list);
}
});
});