-2

リストを表示する検索フォームがあります。

フォームには、都市の依存選択があります (国が選択されている場合、都市の選択が表示されます)。

問題: フォームを送信すると、ページが更新されるため、都市の選択が消えます.送信を押した後にその選択を維持するにはどうすればよいですか? ajaxを使用してフォームを送信する必要がありますか?

4

4 に答える 4

0

まず、リストから値を保存する必要があります$_POST['city']。次に、同じページにいて、同じ都市のリストを再生成する場合、次のようなコードを想定します。

foreach ($cities as $city)
{
    echo "<option value='{$city}'>{$city}</option>";
}

次のように変更します。

foreach ($cities as $city)
{
    echo "<option value='{$city}'";
    if ($city == $_POST['city']) { echo ' selected="yes"'; }
    echo ">{$city}</option>";
}

同じページについて話しているわけではない場合は、 を取得したらすぐに$_POST['city']セッション変数に保存します。たとえば$_SESSION['city']、上記のように使用します。これは、国などに拡張することもできます。

于 2013-02-05T12:25:26.540 に答える
0

post選択ボックスのまたはget値を確認し、SELECTEDその特定の値を設定する必要があります。

<?php @$selected[$_GET['test']] = 'SELECTED'; ?>
<form>
  <select name="test">
    <option value="a" <?=@$selected['a']?>>1</option>
    <option value="b" <?=@$selected['b']?>>2</option>
    <option value="c" <?=@$selected['c']?>>3</option>
    <option value="d" <?=@$selected['d']?>>4</option>
  </select>
  <input type="submit" />
</form>
于 2013-02-05T11:21:47.407 に答える
0

のようなチェックをしif($_POST["county"]!=""){"load your cities drop down. and city drop down will be filtered by county drop down."}ます。それはあなたを助けると思います。

于 2013-02-05T11:22:22.347 に答える
0

1を選択 -> 国

2 -> 国の都市を選択します。オプションは AJAX を使用して読み込まれると仮定します

$_POSTと を使用して Select 1 からオプションを選択できます。selected="selected"に存在する場合でも、Select 2 の値を選択することはできません$_POST

これには AJAX フォーム送信を使用する必要があります。

于 2013-02-05T11:29:13.053 に答える