【问题标题】:How to dynamic change second select afert change the first如何在更改第一个后动态更改第二个选择
【发布时间】:2016-04-07 04:52:16
【问题描述】:

我想创建动态汽车自动搜索,并在更改第一个“id=thecar”后更改第二个选择“id=themodel”。变量 m1,m2,m3 由 php 动态创建。

问题出在“$('#themodel').html(themodelID);”这一行,我不知道如何解决它,因为警报返回正确的值,如果我将“themodelID”替换为(例如)“m1” - 它工作......

这样的html结构

 <div class="styled-select">    
                <select id="thecar">
                    <option class="first">- Marka -</option>
                    <option value="1">Audi</option>
                    <option value="2">BMW</option>
                    <option value="3">Fiat</option>
                    <option value="4">Ford</option>
                    <option value="5">Honda</option>
                    <option value="6">Kia</option>
                    <option value="7">Mercedes-Benz</option>
                    <option value="8">Mazda</option>
                    <option value="9">Opel</option>
                    <option value="10">Volkswagen</option>                       
                </select>
            </div>

            <div class="styled-select">     
                <select id="themodel">
                    <option class="first">- Model -</option>                     
                </select>
            </div>

,这里是 jQuery 代码:

$(document).ready(function() {

        var m1 = '<option value="11">A1</option><option value="12">A2</option><option value="13">A3</option><option value="14">A4</option>';
        var m2 = '<option value="21">318</option><option value="22">320</option><option value="23">525</option><option value="24">530</option>';
        var m3 = '<option value="31">Bravo</option><option value="32">Brava</option><option value="33">Siena</option><option value="34">Ducato</option>';

        $('#thecar').change(function(){     
            var thecarID = $('#thecar').val();              
            var themodelID =  ('m' + thecarID);
            $('#themodel').html(themodelID);
        });

    });

【问题讨论】:

    标签: jquery select dynamic


    【解决方案1】:

    无法动态创建变量名。最简单的方法是使用一个对象来存储所有选项并使用[] 符号来访问它们

     var options = {
         m1: '<option value="11">....',
         m2: '<option value="21">...',
         m3: '<option value="31">...'    
     };
    
     $('#thecar').change(function(){     
            var thecarID = $('#thecar').val();              
            var themodelID =  ('m' + thecarID);
            $('#themodel').html(options[themodelID]);
        });
    

    【讨论】:

      猜你喜欢
      • 2021-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-19
      • 2013-06-28
      • 2023-04-02
      • 1970-01-01
      相关资源
      最近更新 更多