1

ぎこちない投稿タイトルで申し訳ありません。

ユーザーがお気に入りの店舗の場所を選択するよう求められるフォームがあります。City、State、Street Address の値を含む 3 つの選択ボックスがあります。別の投稿で見つけたコードを使用してフォームを設定することができたので、ユーザーが州を選択すると、その州の都市のみが表示され、都市が選択されると、その都市の店舗のみが表示されます。その部分は完璧に機能しています。

ただし、選択した店舗に基づいて、さらに 2 つの値、店舗番号と地域 ID を渡す必要もあります。私は何時間もスクリプトをいじっていましたが、追加の値を割り当てて渡す方法がわかりません。私はjQueryを初めて使用しますが、各関数が何をしているのかを完全に特定することはできません。どんな助けでも大歓迎です!

以下は私のコードのサンプルです:

<script type="text/javascript">
$(document).ready(function () {
$('select#FavState').change(function (e) {
    var cityOptions = getCityOptions($(this).val());
    $('select#FavCity').html(''); // clear the existing options
    $.each(cityOptions, function (i, o) {
        $('<option>' + o + '</option>').appendTo('select#FavCity');
    });
});
$('select#FavCity').change(function (e) {
    var streetOptions = getStreetOptions($(this).val());
    $('select#FavStreet').html(''); // clear the existing options
    $.each(streetOptions, function (i, o) {
        $('<option>' + o + '</option>').appendTo('select#FavStreet');
    });
});

 function getCityOptions(val) {
    if (val == '0') return ['Select City'];
    if (val == 'CT') return ['Avon', 'Bridgeport', 'Bristol', 'Cromwell', 'Danbury', 'Darien', 'East Windsor', 'Enfield', 'Hartford', 'Manchester', 'Milford', 'Mystic', 'Naugatuck', 'Newington', 'North Haven', 'Norwich', 'Plainville', 'Southbury', 'Southington', 'Unionville', 'Vernon', 'Waterbury', 'Wethersfield', 'Willimantic', 'Windsor Locks'];
    if (val == 'DE') return ['Dover', 'Hockessin', 'Middletown', 'Newark', 'Rehoboth Beach', 'Seaford', 'Wilmington'];

}

function getStreetOptions(val) {
    if (val == '0') return ['Select Street'];
    if (val == 'Avon') return ['347 West Main Street'];
    if (val == 'Bridgeport') return ['4545 North Main Street'];
    if (val == 'Bristol') return ['240 Buckland Street'];
    if (val == 'Cromwell') return ['48 Berlin Road'];
 }

});
</script>

フォームの選択フィールド:

<form>
<select name="FavState" id="FavState">
    <option selected="selected" value="0">Select State</option>
    <option value="CT">Connecticut</option>
    <option value="DE">Delaware</option>
    <option value="FL">Florida</option>
</select>
<select name="FavStreet" id="FavStreet" class="formFields longSelectLists">
    <option selected="selected" value="0">Select Street</option>
</select>
<input name="StoreNumber" id="StoreNumber" type="hidden" />
<input name="RegionID" id="RegionID" type="hidden" />
</form>

これを getStreetOptions 関数に追加してみました:

 if (val == 'Avon') return ['347 West Main Street'];
        $('input#StoreNumber').val('4239');
        $('input#RegionID]').val('6');

しかし、その中に関数を追加する必要があると思うので、何らかのトリガーがありますか?

4

1 に答える 1