私はこことGoogleで可能な答えを探すことに本当に力を入れてきました. 私はいくつかの答えを見つけましたが、それらを自分のコードと状況に適用すると、うまくいきません。
私は試した:
$("select#city option['City, ST']").attr('selected', 'selected');
私も試しました:
$("select#city").val('City, ST');
どこかで示唆されたように。
このコードを document.ready 関数に入れてみましたが、役に立ちませんでした。次に、document.ready を使用せずに (head セクションではなく) 一番上に配置しようとしましたが、それでも同じです。
この関数が失敗する理由は何ですか? それが呼び出された瞬間が重要です (つまり、値を持つ選択ボックスが最初にレンダリングされてから関数が呼び出されるかどうかは重要ですか? それとも、他の何かでしょうか?
HTML コード:
<div class="ui-widget">
<h3>Location</h3>
<form id="chooseCity" class="" action="" method="post">
<select id="city" name="city">
<option value="Select Town">Select Town</option>
<option value='Acworth, NH'>Acworth, NH</option>
<option value='Alstead, NH'>Alstead, NH</option>
<option value='Alton, NH'>Alton, NH</option>
<option value='Alton Bay, NH'>Alton Bay, NH</option>
<option value='Amherst, NH'>Amherst, NH</option>
<option value='Andover, NH'>Andover, NH</option>
<option value='Antrim, NH'>Antrim, NH</option>
<option value='Concord, NH'>Concord, NH</option>
</select>
</form>
</div>
このループが原因でしょうか? 多分それはどういうわけか干渉しています:
<option value="Select Town">Select Town</option>
<?php foreach($arr as $city):
echo "<option value='{$city}'";
echo ($_POST['city-hp'] == $city) ? 'selected' : '';
echo ">".$city."</option>".PHP_EOL;
endforeach; ?>
重要な編集:
このコードの一部を発見しました:
$(function() {
$( "#city" ).combobox();
$( "#toggle" ).click(function() {
$( "#city" ).toggle();
});
});
コンボボックスがプログラムで目的の値を選択するのを妨げています。ただし、このコードは、選択ボックスのスタイルを設定するために重要です。jQuery UI Web サイトからサンプルをダウンロードし、自分の Web サイトに統合しました。
上記のコードを変更して、目的の機能を実現しながら外観を維持するにはどうすればよいでしょうか?