【问题标题】:Unable to populate a <SELECT> option based on the value selected in first <select> on Google Chrome无法根据 Google Chrome 上第一个 <select> 中选择的值填充 <SELECT> 选项
【发布时间】:2016-01-20 11:04:17
【问题描述】:

问题是它在 Firefox 中运行良好,但在 Google Chrome 中无法运行。在 Google Chrome 中第二个列表没有像在 Firefox 中那样填充,我错过了明显的吗?请帮帮我,下面是我的脚本

        $(document).ready(function () {
            var districts = ['Choose District', 'Yadgir', 'Gadag', 'Kalaburagi', ' Karwar', 'Tumakuru', 'Shivamogga', 'Kolar', 'Ramanagara ', 'Mandya', 'Madikeri ', 'Haveri', 'Dharwad', 'Bengaluru', 'Bagalkot', 'Ballari', ' Karwar', 'Hassan', 'Bidar', 'Davanagere', 'Vijayapura', 'Mangaluru', 'Chamarajanagar', 'Chitradurga', 'Chikkamagaluru', 'Udupi', 'Koppal', 'Raichur', 'Ramanagara ', 'Mysuru', 'Shivamogga'];
            var cities =
            {

                'Yadgir': ['Shahpur', 'Shorapur', 'Yadgir'],
                'Hassan': ['HoleNarsipura', 'Arsikere', 'Channarayapattana', 'Belur', 'Arkalgud', 'Alur', 'Sakleshpur'],
                ' Karwar': ['Ankola', ' Bhatkal', ' Haliyal ', 'Honnavar ', 'Joida', ' Karwar', ' Kumta ', 'Mundgod', ' Siddapur', 'Sirsi ', 'Yellapur'],
                'Udupi': ['Udupi', 'Brahmavara', ' Karkal', 'Kundapura', 'Byndoor'],
                'Tumakuru': ['Chiknayakanhalli', 'Gubbi', 'Koratagere', 'Kunigal ', 'Madhugiri', 'Pavagada', 'Sira', 'Tiptur', 'Tumakuru', 'Turuvekere'],
                'Shivamogga': ['Bhadravati', 'Hosanagara', 'Sagar', 'Shikaripura', 'Shivamogga', 'Sorab', 'Thirthahalli'],
                'Ramanagara ': ['Channapatna', 'Kanakapura', 'Ramanagara', 'Magadi'],
                'Raichur': ['Devadurga', 'Lingsugur ', 'Manvi ', 'Raichur', 'Sindhnur'],
                'Koppal': ['Gangawati', ' Koppal ', 'Kushtagi ', 'Yelbarga'],
                'Mysuru': ['Heggadadevana kote', 'Hunsur', 'Krishnarajanagara', 'Mysuru', 'Nanjangud', 'Piriyapatna', 'T.Narsipur'],
                'Mandya': ['Krishnarajpet ', 'Malavalli', 'Mandya', 'Nagamangala', 'Pandavapura', 'Shrirangapattana'],
                'Kolar': ['Bangarapet', 'Kolar', 'Malur', ' Mulbagal', 'Srinivaspur'],
                'Madikeri ': ['Madikeri', 'Somvarpet', 'Virajpet'],
                'Haveri': ['Byadgi', 'Hangal', 'Haveri', 'Hirekerur', 'Ranibennur', 'Savanur', 'Shiggaon'],
                'Kalaburagi': ['Afzalpur', 'Aland', 'Chincholi', 'Chitapur', 'Kalaburagi', 'Jevargi', 'Sedam'],
                'Gadag': ['Gadag-Betigeri', 'Mundargi', 'Nargund', 'Ron', ' Shirhatti'],
                'Belagavi': ['Athni', 'Bailahongal', 'Belagavi', 'Chikodi', 'Gokak ', 'Hukkeri', 'Khanapur', 'Kittur', 'Raybag', 'Ramdurg', 'Saundatti'],
                'Bengaluru': ['Devanahalli', 'Doddaballapura', 'Hoskote', 'Nelamangala', 'Anekal ', 'Bengaluru North', ' Bengaluru East', ' Bengaluru South'],
                'Bagalkot': ['Badami', ' Bagalkot ', 'Bilgi ', 'Hungund ', 'Jamkhandi', ' Mudhol'],
                'Ballari': ['Ballari ', 'Hosapete', ' Kampli', 'Hoovina Hadagalli', 'Kudligi', ' Sanduru', ' Siruguppa'],
                'Bidar': ['Bidar', ' Basavakalyan', 'Bhalki', ' Homnabad ', 'Aurad'],
                'Vijayapura': ['Vijayapura', ' Indi ', 'Muddebihal ', 'Sindgi ', 'Basavana Bagevadi'],
                'Chamarajanagar': ['Chamrajnagar', 'Gundlupet ', 'Kollegal', 'Yelandur'],
                'Chikballapur': [' Bagepalli ', 'Chikballapur', 'Chintamani ', 'Gauribidanur', 'Gudibanda', 'Sidlaghatta'],
                'Chikkamagaluru': ['Chikkamagaluru', ' Kadur ', 'Koppa', 'Mudigere ', 'Narasimharajapura', ' Sringeri', ' Tarikere'],
                'Chitradurga': ['Challakere', ' Chitradurga', ' Hiriyur', ' Holalkere', ' Hosadurga ', 'Molakalmuru'],
                'Mangaluru': ['Bantwal', ' Beltangadi', ' Mangaluru ', 'Puttur ', 'Sulya'],
                'Davanagere': ['Channagiri ', 'Davanagere ', 'Harihar', ' Harpanahalli ', 'Honnali', ' Jagalur'],
                'Dharwad': ['Dharwad', 'Hubballi', 'Kalghatgi', 'Kundgol', 'Navalgund']

            };

            $.each(districts, function (i) {
                $('#dist').append('<option>' + districts[i] + '</option>');
            });

            $('#dist').on('click', 'option', function () {
                $('#city').html('');
                var showcity = cities[$(this).text()];
                $.each(showcity, function (i) {
                    $('#city').append('<option>' + showcity[i] + '</option>');
                });
            });

        });
   
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
            <div class="row">
                <div class="col-md-6">
                    <h3 style="margin-left: 20px">Choose District </h3>
                    <select id="dist" class="form-group form-control" required="required" name="distr">
                        <optgroup> 
                        </optgroup>
                    </select>


                </div>

                <div class="col-md-6">
                    <h3 style="margin-left: 20px">Cities </h3>
                    <select id="city" class="form-group form-control"  required="required" name="cities">


                        <optgroup label="Please Select a District First">

                        </optgroup>

                    </select>



                </div>
                
            </div>
        </div>

我试图将其限制为仅前端,因此我避免使用 ASP.NET DropDownlist。在此先感谢

【问题讨论】:

标签: javascript jquery asp.net google-chrome


【解决方案1】:

您需要填充每个选项的 value 属性。然后在 select 元素上使用 change 事件,该元素现在能够正确返回“val”。

        $(document).ready(function () {
            var districts = ['Choose District', 'Yadgir', 'Gadag', 'Kalaburagi', ' Karwar', 'Tumakuru', 'Shivamogga', 'Kolar', 'Ramanagara ', 'Mandya', 'Madikeri ', 'Haveri', 'Dharwad', 'Bengaluru', 'Bagalkot', 'Ballari', ' Karwar', 'Hassan', 'Bidar', 'Davanagere', 'Vijayapura', 'Mangaluru', 'Chamarajanagar', 'Chitradurga', 'Chikkamagaluru', 'Udupi', 'Koppal', 'Raichur', 'Ramanagara ', 'Mysuru', 'Shivamogga'];
            var cities =
            {

                'Yadgir': ['Shahpur', 'Shorapur', 'Yadgir'],
                'Hassan': ['HoleNarsipura', 'Arsikere', 'Channarayapattana', 'Belur', 'Arkalgud', 'Alur', 'Sakleshpur'],
                ' Karwar': ['Ankola', ' Bhatkal', ' Haliyal ', 'Honnavar ', 'Joida', ' Karwar', ' Kumta ', 'Mundgod', ' Siddapur', 'Sirsi ', 'Yellapur'],
                'Udupi': ['Udupi', 'Brahmavara', ' Karkal', 'Kundapura', 'Byndoor'],
                'Tumakuru': ['Chiknayakanhalli', 'Gubbi', 'Koratagere', 'Kunigal ', 'Madhugiri', 'Pavagada', 'Sira', 'Tiptur', 'Tumakuru', 'Turuvekere'],
                'Shivamogga': ['Bhadravati', 'Hosanagara', 'Sagar', 'Shikaripura', 'Shivamogga', 'Sorab', 'Thirthahalli'],
                'Ramanagara ': ['Channapatna', 'Kanakapura', 'Ramanagara', 'Magadi'],
                'Raichur': ['Devadurga', 'Lingsugur ', 'Manvi ', 'Raichur', 'Sindhnur'],
                'Koppal': ['Gangawati', ' Koppal ', 'Kushtagi ', 'Yelbarga'],
                'Mysuru': ['Heggadadevana kote', 'Hunsur', 'Krishnarajanagara', 'Mysuru', 'Nanjangud', 'Piriyapatna', 'T.Narsipur'],
                'Mandya': ['Krishnarajpet ', 'Malavalli', 'Mandya', 'Nagamangala', 'Pandavapura', 'Shrirangapattana'],
                'Kolar': ['Bangarapet', 'Kolar', 'Malur', ' Mulbagal', 'Srinivaspur'],
                'Madikeri ': ['Madikeri', 'Somvarpet', 'Virajpet'],
                'Haveri': ['Byadgi', 'Hangal', 'Haveri', 'Hirekerur', 'Ranibennur', 'Savanur', 'Shiggaon'],
                'Kalaburagi': ['Afzalpur', 'Aland', 'Chincholi', 'Chitapur', 'Kalaburagi', 'Jevargi', 'Sedam'],
                'Gadag': ['Gadag-Betigeri', 'Mundargi', 'Nargund', 'Ron', ' Shirhatti'],
                'Belagavi': ['Athni', 'Bailahongal', 'Belagavi', 'Chikodi', 'Gokak ', 'Hukkeri', 'Khanapur', 'Kittur', 'Raybag', 'Ramdurg', 'Saundatti'],
                'Bengaluru': ['Devanahalli', 'Doddaballapura', 'Hoskote', 'Nelamangala', 'Anekal ', 'Bengaluru North', ' Bengaluru East', ' Bengaluru South'],
                'Bagalkot': ['Badami', ' Bagalkot ', 'Bilgi ', 'Hungund ', 'Jamkhandi', ' Mudhol'],
                'Ballari': ['Ballari ', 'Hosapete', ' Kampli', 'Hoovina Hadagalli', 'Kudligi', ' Sanduru', ' Siruguppa'],
                'Bidar': ['Bidar', ' Basavakalyan', 'Bhalki', ' Homnabad ', 'Aurad'],
                'Vijayapura': ['Vijayapura', ' Indi ', 'Muddebihal ', 'Sindgi ', 'Basavana Bagevadi'],
                'Chamarajanagar': ['Chamrajnagar', 'Gundlupet ', 'Kollegal', 'Yelandur'],
                'Chikballapur': [' Bagepalli ', 'Chikballapur', 'Chintamani ', 'Gauribidanur', 'Gudibanda', 'Sidlaghatta'],
                'Chikkamagaluru': ['Chikkamagaluru', ' Kadur ', 'Koppa', 'Mudigere ', 'Narasimharajapura', ' Sringeri', ' Tarikere'],
                'Chitradurga': ['Challakere', ' Chitradurga', ' Hiriyur', ' Holalkere', ' Hosadurga ', 'Molakalmuru'],
                'Mangaluru': ['Bantwal', ' Beltangadi', ' Mangaluru ', 'Puttur ', 'Sulya'],
                'Davanagere': ['Channagiri ', 'Davanagere ', 'Harihar', ' Harpanahalli ', 'Honnali', ' Jagalur'],
                'Dharwad': ['Dharwad', 'Hubballi', 'Kalghatgi', 'Kundgol', 'Navalgund']

            };

            $.each(districts, function (i) {
                $('#dist').append('<option value="' + districts[i] +  '">' + districts[i] + '</option>');
            });

            $('#dist').on('change', function () {
                $('#city').html('');
                var showcity = cities[$(this).val()];
                $.each(showcity, function (i) {
                    $('#city').append('<option>' + showcity[i] + '</option>');
                });
            });

        });
   
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
            <div class="row">
                <div class="col-md-6">
                    <h3 style="margin-left: 20px">Choose District </h3>
                    <select id="dist" class="form-group form-control" required="required" name="distr">
                        <optgroup> 
                        </optgroup>
                    </select>


                </div>

                <div class="col-md-6">
                    <h3 style="margin-left: 20px">Cities </h3>
                    <select id="city" class="form-group form-control"  required="required" name="cities">


                        <optgroup label="Please Select a District First">

                        </optgroup>

                    </select>



                </div>
                
            </div>
        </div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-07
    • 1970-01-01
    • 2015-09-20
    • 2021-09-29
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    相关资源
    最近更新 更多