Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mengisi Dropdown Cascading Secara Dinamik dengan jQuery?

Bagaimana untuk Mengisi Dropdown Cascading Secara Dinamik dengan jQuery?

Barbara Streisand
Lepaskan: 2024-11-03 03:13:29
asal
497 orang telah melayarinya

How to Dynamically Populate Cascading Dropdowns with jQuery?

Isi Lata Turun dengan jQuery

Masalah

Membuat borang dengan dua lungsur turun (Negara dan Bandar), anda perlu menjadikannya dinamik supaya hanya bandar negara yang dipilih kelihatan. Anda telah menukar JavaScript anda kepada jQuery untuk keserasian yang lebih baik, tetapi anda masih menghadapi beberapa isu.

JavaScript Asal

<code class="javascript">function populate(s1, s2) {
    var optionArray;
    switch (s1.value) {
        case "Germany":
            optionArray = ["|", "magdeburg|Magdeburg", "duesseldorf|Duesseldorf", "leinfelden-echterdingen|Leinfelden-Echterdingen", "eschborn|Eschborn"];
            break;
        // ... more cases
        default:
            optionArray = ["|"];
    }

    for (var option in optionArray) {
        var pair = optionArray[option].split("|");
        var newOption = document.createElement("option");
        newOption.value = pair[0];
        newOption.innerHTML = pair[1];
        s2.options.add(newOption);
    }
}</code>
Salin selepas log masuk

Penyelesaian jQuery

Kod jQuery berikut mencapai hasil yang diingini:

<code class="javascript">jQuery(function($) {
    var locations = {
        'Germany': ['Duesseldorf', 'Leinfelden-Echterdingen', 'Eschborn'],
        'Spain': ['Barcelona'],
        'Hungary': ['Pecs'],
        'USA': ['Downers Grove'],
        'Mexico': ['Puebla'],
        'South Africa': ['Midrand'],
        'China': ['Beijing'],
        'Russia': ['St. Petersburg'],
    }

    var $locations = $('#location');
    $('#country').change(function () {
        var country = $(this).val(), lcns = locations[country] || [];

        var html = $.map(lcns, function(lcn){
            return `<option value="${lcn}">${lcn}</option>`
        }).join('');
        $locations.html(html)
    });
});</code>
Salin selepas log masuk

Cara Ia Berfungsi

Kod ini menyimpan perhubungan negara-bandar dalam objek lokasi. Apabila lungsur turun negara ditukar, pengendali acara perubahan mendapatkan negara yang dipilih dan mendapatkan semula bandar yang sepadan daripada objek lokasi. Ia kemudian membina pilihan HTML untuk bandar dan menggantikan kandungan lungsur turun lokasi.

Atas ialah kandungan terperinci Bagaimana untuk Mengisi Dropdown Cascading Secara Dinamik dengan jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan