Bagaimana untuk mencipta fungsi ramalan carian dinamik menggunakan HTML, CSS dan jQuery

王林
Lepaskan: 2023-10-26 11:04:50
asal
1403 orang telah melayarinya

Bagaimana untuk mencipta fungsi ramalan carian dinamik menggunakan HTML, CSS dan jQuery

Cara mencipta fungsi persatuan carian dinamik menggunakan HTML, CSS dan jQuery

Dengan perkembangan Internet, fungsi carian telah menjadi bahagian yang sangat diperlukan dalam kehidupan seharian kita. Untuk meningkatkan pengalaman carian pengguna, fungsi perkaitan carian dinamik telah menjadi keperluan biasa. Artikel ini akan memperkenalkan cara menggunakan HTML, CSS dan jQuery untuk mencipta fungsi ramalan carian yang mudah dan berkesan, dan menyediakan contoh kod khusus.

  1. Persediaan

Pertama sekali, kita perlu menyediakan sumber yang berkaitan. Pastikan anda memasang versi terkini jQuery dan dalam halaman HTML anda tambahkan:

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
Salin selepas log masuk
  1. Struktur HTML

Seterusnya, kita perlu membina struktur HTML. Tambahkan kawasan untuk memaparkan hasil ramalan carian selepas kotak input, contohnya:

<input type="text" id="searchInput" placeholder="输入关键词">
<div id="suggestions"></div>
Salin selepas log masuk
  1. Gaya CSS

Untuk menjadikan hasil ramalan carian muncul dalam gaya yang sesuai pada halaman, kami perlu menambah beberapa gaya CSS . Berikut ialah contoh CSS mudah:

#suggestions {
    position: absolute;
    background-color: #fff;
    border: 1px solid #ccc;
    width: 200px;
    display: none;
    z-index: 999;
}

#suggestions ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#suggestions li {
    padding: 10px;
    cursor: pointer;
}

#suggestions li:hover {
    background-color: #f0f0f0;
}
Salin selepas log masuk

Kod CSS ini akan menyediakan beberapa penggayaan asas untuk kawasan paparan hasil ramalan carian.

  1. pelaksanaan jQuery

Sekarang, mari kita laksanakan fungsi persatuan carian. Berikut ialah contoh kod asas:

$(document).ready(function() {
    $('#searchInput').on('input', function() {
        var keyword = $(this).val();
        
        if (keyword.length >= 1) {
            // 发送Ajax请求到后端,获取搜索联想结果
            $.ajax({
                url: 'search_suggestions.php', // 替换为你的后端接口地址
                type: 'GET',
                dataType: 'json',
                data: { keyword: keyword },
                success: function(response) {
                    if (response.length > 0) {
                        var suggestions = '';
                        
                        // 构建搜索联想结果列表
                        for(var i = 0; i < response.length; i++) {
                            suggestions += '<li>' + response[i] + '</li>';
                        }
                        
                        // 将搜索联想结果显示在页面上
                        $('#suggestions').html('<ul>' + suggestions + '</ul>').show();
                    } else {
                        $('#suggestions').hide();
                    }
                },
                error: function() {
                    // 错误处理
                }
            });
        } else {
            $('#suggestions').hide();
        }
    });
    
    // 监听对搜索联想结果的点击事件
    $(document).on('click', '#suggestions li', function() {
        var suggestion = $(this).text();
        
        // 将选中的搜索联想结果填充到输入框中
        $('#searchInput').val(suggestion);
        
        $('#suggestions').hide();
    });
    
    // 点击页面其他区域时隐藏搜索联想结果
    $(document).on('click', function(e) {
        if (!$(e.target).is('#searchInput')) {
            $('#suggestions').hide();
        }
    });
});
Salin selepas log masuk

Dalam kod ini, kami mula-mula mendengar peristiwa input kotak input Sebaik sahaja terdapat input teks dalam kotak input, kami menghantar permintaan ke bahagian belakang melalui Ajax untuk mendapatkan carian keputusan persatuan. Kemudian, senarai hasil ramalan carian dibina berdasarkan hasil yang dikembalikan oleh bahagian belakang dan dipaparkan pada halaman.

Pada masa yang sama, kami juga memantau acara klik item senarai hasil ramalan carian Apabila pengguna mengklik pada hasil ramalan, hasilnya diisi ke dalam kotak input dan hasil ramalan carian disembunyikan.

Akhir sekali, kami juga memantau acara klik di kawasan lain halaman Apabila pengguna mengklik pada kawasan lain halaman, hasil perkaitan carian disembunyikan.

  1. Pemprosesan belakang

Bahagian permintaan Ajax dalam kod di atas perlu diganti mengikut situasi sebenar Secara amnya, bahagian belakang diperlukan untuk memproses logik perkaitan carian dan mengembalikan hasil perkaitan yang berkaitan. Anda boleh mengubah suai kod mengikut situasi sebenar bahagian belakang.

Di atas ialah langkah terperinci dan contoh kod khusus untuk menggunakan HTML, CSS dan jQuery untuk mencipta fungsi perkaitan carian dinamik. Melalui fungsi ini, pengguna boleh mendapatkan hasil perkaitan carian yang berkaitan dalam masa nyata semasa proses memasukkan kata kunci, yang meningkatkan kemudahan dan ketepatan carian. Harap artikel ini membantu anda!

Atas ialah kandungan terperinci Bagaimana untuk mencipta fungsi ramalan carian dinamik menggunakan HTML, CSS dan jQuery. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!