【问题标题】:jquery load page element according to menu onchange valuejquery根据菜单onchange值加载页面元素
【发布时间】:2012-08-14 16:07:41
【问题描述】:

我有 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>

这是第二个菜单:

<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>

【问题讨论】:

    标签: jquery if-statement option onchange


    【解决方案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);
         })
      })
    

    【讨论】:

      【解决方案2】:
      $('#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);
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-17
        • 2012-09-02
        • 2011-04-10
        • 1970-01-01
        • 2015-07-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多