2

2 つのドロップダウン メニューがあります。これが必要です。「ItemCountry」というドロップダウン メニューのオプションを選択すると、最初のメニューの値に従って、div id="StateFeeder" が特定のドロップダウン メニューを別のページにロードします。

これが最初のメニューです。

<label for="ItemCountry">Country <span class="req">*</span></label>
<select name="ItemCountry" id="ItemCountry" class="cat_dropdown" onblur="StateFeeder()">
    <option value=" ">-- Select Country --</option>
    <option value="AU" selected="selected">Australia</option>
    <option value="CA">Canada</option>
    <option value="CN">China</option>
    <option value="NZ">New Zealand</option>
    <option value="RU">Russia</option>
    <option value="US">United State</option>
</select>

これが 2 番目のメニューです。

<div id="StateFeeder">
    <div>
        <label for="ItemState">State <span class="req">*</span></label>
        <select name="ItemState" id="ItemState" class="cat_dropdown">
             <option value="">-- Please select --</option>
             <option value="NSW">NSW</option>
             <option value="VIC">VIC</option>
             <option value="QLD">QLD</option>
             <option value="ACT">ACT</option>
             <option value="TAS">TAS</option>
             <option value="WA">WA</option>
             <option value="SA">SA</option>
             <option value="NT">NT</option>
         </select>
         e.g. NSW         
    </div>
</div>

私が書いたjqueryが機能していません:

<script type="text/javascript">
    $(function() {
        $('#ItemCountry').change(function() {
            if (document.ItemCountry.selectedIndex == 'AU') {
                $("#StateFeeder").empty().html('<img src="/images/mapCountry /AU/ajaxloader.gif" class="IMG-Loading" />');
                $('#StateFeeder>div').load('/StateFeeder/StateFeeder-Buy.html #StateFeeder-AU');
            };
            if (document.ItemCountry.selectedIndex == 'CA') {
                $("#StateFeeder>div").empty().html('<img src="/images/mapCountry/AU/ajax-loader.gif" class="IMG-Loading" />');
                $('#StateFeeder').load('/StateFeeder/StateFeeder-Buy.html #StateFeeder-CA');
            };
            if (document.ItemCountry.selectedIndex == 'CN') {
                $("#StateFeeder").empty().html('<img src="/images/mapCountry/AU/ajax-loader.gif" class="IMG-Loading" />');
                $('#StateFeeder').load('/StateFeeder/StateFeeder-Buy.html #StateFeeder-CN');
            };
            if (document.ItemCountry.selectedIndex == 'NZ') {
                $("#StateFeeder").empty().html('<img src="/images/mapCountry/AU/ajax-loader.gif" class="IMG-Loading" />');
                $('#StateFeeder').load('/StateFeeder/StateFeeder-Buy.html #StateFeeder-NZ');
            };
            if (document.ItemCountry.selectedIndex == 'RU') {
                $("#StateFeeder").empty().html('<img src="/images/mapCountry/AU/ajax-loader.gif" class="IMG-Loading" />');
                $('#StateFeeder').load('/StateFeeder/StateFeeder-Buy.html #StateFeeder-RU');
            };
            if (document.ItemCountry.selectedIndex == 'US') {
                $("#StateFeeder").empty().html('<img src="/images/mapCountry/AU/ajax-loader.gif" class="IMG-Loading" />');
                $('#StateFeeder').load('/StateFeeder/StateFeeder-Buy.html #StateFeeder-US');
            };
        });
    });
</script>
4

2 に答える 2

1

selectedIndex選択したオプションのインデックスを返します。次のvalueプロパティを使用する必要があります。

 $(function() {
     $('#ItemCountry').change(function() {
         var val = this.value; // value of the select element
         $("#StateFeeder").html('<img src="/images/mapCountry/AU/ajax-loader.gif" class="IMG-Loading" />');
         $('#StateFeeder').load('/StateFeeder/StateFeeder-Buy.html #StateFeeder-'+val);
     })
  })
于 2012-08-18T13:14:58.527 に答える
0
$('#ItemCountry').change(function() 
{
    /* Take the value of selected option */
    var value = $(this).val();

    /* Use this instead of lots of if statements */
    var str = '/StateFeeder/StateFeeder-Buy.html #StateFeeder-' + value;

    $('#StateFeeder').load(str);
});
于 2012-08-18T13:15:54.600 に答える