亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP-Ajax:實時搜索,下拉列表并分配值

PHP-Ajax:實時搜索,下拉列表并分配值

PHP
開心每一天1111 2022-08-05 16:28:21
我正在使用html輸入“搜索”實現實時搜索,結果應顯示在其下方,以便用戶可以選擇正確的名稱。一旦客戶選擇名稱,它將所選名稱的ID分配給其他隱藏的輸入“id”。以下是我的代碼詳細信息:索引.php<?php?><!DOCTYPE html><html><head><meta charset="UTF-8"><title>PHP Live MySQL Database Search</title><script src="https://code.jquery.com/jquery-1.12.4.min.js"></script><script>$(document).ready(function(){  $("#search").keyup(function(){    var txt = $(this).val();    var resultDropdown = $(this).siblings(".result");    var personname = "";    var personID = "";    if (txt !='')    {        $.ajax        (        {            type:"post",    //submit method            url: "search.php",  //url to sumitted data To            data: {name : txt}, //Data to be submitted            cache: false,            dataType: 'json',            //action on successful post request            success: function(data)            {                //process JSON                $.each(data.names, function(idx, name){                    var person = "<p>" + name.name +"</p>";                    resultDropdown.html(person);                });            },        }        )    }    else    {        resultDropdown.empty();    }  });   // Set search input value on click of result item});</script></head><body><form method="post" action="result.php">    <div class="search-box">        <input type="text" id="search" autocomplete="off" name="spousename" placeholder="search spouse" />        <input type="hidden" id="id" autocomplete="off" name="spouseid" placeholder="search spouse" />        <input class="w3-button w3-block w3-green w3-section w3-padding" type="submit" name="access"><b>Login</b></button>        <div class="result"></div>    </div></form></body></html>從搜索返回的數據.php{"names":[{"name":" xxxxxx","id":3},{"name":"yyyy","id":6},{"name":"zzzz","id":5}]}我面臨的問題: 1- 結果滴落.html(人): 只顯示 json 上的最后一項2-如何在點擊時分配ID
查看完整描述

2 回答

?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

將 html 與變量一起評估,然后在循環后顯示它


var resultDropdown = $(".result");


success: function(data)

                    {

    var person = "";

                    //process JSON

                    $.each(data.names, function(idx, name){


                        person += '<p class="name" data-id="'+ name.id +'">' + name.name +'</p>';


                    });

    resultDropdown.html(person);


                }


// Get the id of the clicked person

        $(document).on('click', '.name', function(){

    var id = $(this).attr('data-id');

})


查看完整回答
反對 回復 2022-08-05
?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

這是完整的代碼,如果一些


<?php


?>


<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>PHP Live MySQL Database Search</title>

<style type="text/css">

    body{

        font-family: Arail, sans-serif;

    }

    /* Formatting search box */

    .search-box{

        width: 300px;

        position: relative;

        display: inline-block;

        font-size: 14px;

    }

    .search-box input[type="text"]{

        height: 32px;

        padding: 5px 10px;

        border: 1px solid #CCCCCC;

        font-size: 14px;

    }

    .result{

        position: absolute;        

        z-index: 999;

        top: 100%;

        left: 0;

    }

    .search-box input[type="text"], .result{

        width: 100%;

        box-sizing: border-box;

    }

    /* Formatting result items */

    .result p{

        margin: 0;

        padding: 7px 10px;

        border: 1px solid #CCCCCC;

        border-top: none;

        cursor: pointer;

    }

    .result p:hover{

        background: #f2f2f2;

    }

</style>




<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>

<script>

$(document).ready(function(){

  $("#search").keyup(function(){

    var txt = $(this).val();

    var resultDropdown = $(".result");

    var person = "";

    if (txt !='')

    {

        $.ajax

        (

        {

            type:"post",    //submit method

            url: "search.php",  //url to sumitted data To

            data: {name : txt}, //Data to be submitted

            cache: false,

            dataType: 'json',

            //action on successful post request

            success: function(data)

            {

                //process JSON

                $.each(data.names, function(idx, name){

                    person += '<p data-id="'+ name.id +'">' + name.name +'</p>';


                });

                resultDropdown.html(person);


            },

        }

        )

    }

    else

    {

        resultDropdown.empty();

    }

  });


   // Get the id of the clicked person

        $(document).on("click", ".result p", function(){

            //assign the value of person name to search input 

        $(this).parents(".search-box").find('#search').val($(this).text());


        //get the id 

        var id = $(this).attr('data-id');

        //set input id "id" value 

         $("#id").val(id);

        //clear search data

         $(this).parent(".result").empty();

    })



});

</script>


</head>

<body>

<form method="post" action="result.php">

    <div class="search-box">


        <input type="text" id="search" autocomplete="off" name="spousename" placeholder="search spouse" />

        <input type="hidden" id="id" autocomplete="off" name="spouseid" placeholder="search spouse" />

        <input class="w3-button w3-block w3-green w3-section w3-padding" type="submit" name="access"><b>Submit</b></button>

        <div class="result"></div>

    </div>

</form>

</body>

</html>


查看完整回答
反對 回復 2022-08-05
  • 2 回答
  • 0 關注
  • 135 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號