影响两个具有单个 ajax 低语者的文本框



我正在尝试用一个ajax低语者填充两个文本框。我得到了以下代码:

.HTML:

<input type="text" name="ICZ" id="ICZ">
<input type="text" name="ODB" id="ODB"> 

回应.php:

<?php
require_once("../inc/dbconnect.php");
$return_arr = array();
$term=iconv('UTF-8' ,'WINDOWS-1250',$_GET["term"]);
$SQL="some sql";
$RS=sqlsrv_query($Conn,$SQL);
while($row=sqlsrv_fetch_array($RS)) {
        $id_lekar=iconv('WINDOWS-1250', 'UTF-8',$row["ID_LEKAR"]);
        $jmeno=iconv('WINDOWS-1250', 'UTF-8',$row["JMENO"]); 
        $odborn=iconv('WINDOWS-1250', 'UTF-8',$row["ODBORN"]); 
        $row_array['value'] = $id_lekar;
        $row_array['value1'] = $odborn;
        $row_array['label'] = $id_lekar." - ".$jmeno." - ".$odborn;
        array_push($return_arr,$row_array);
}
sqlsrv_close($Conn);
echo json_encode($return_arr);
?>

和 jQuery:

$(function() {$('#ICZ').autocomplete({
        source: 'respond.php',
        minLength:5
    });
});

这有效,但只影响一个输入字段。我想同时填写这两个,所以我用$row_array['value1']扩展 SQL 查询并扩展响应.php.然后我尝试重做jQuery:

$(function() {$('#ICZ').autocomplete({
    minLength: 5,
    source: function(request, response){
    $.ajax({
        url: "respond.php",
        type: "GET",
        dataType: "json",
        data: {term: request.term},
        success:function(response){
            var len = response.lenght;
            if (len > 0){
                var icz = response[0]['value'];
                var odb = response[0]['value1'];
                document.getElementById('ICZ').value = icz;
                document.getElementById('ODB').value = odb;
            }
        }
    });
    }
});
});

但这并没有多大作用,控制台中没有错误,当我用 5 个或更多字符填充字段但没有响应时,我可以看到 GET 请求正在进行。当我尝试访问响应.php?term=XXXXX时,我在两种方式上都得到了相同的响应。

使用 JSON.parse

$.ajax({
    url: "respond.php",
    type: "GET",
    dataType: "json",
    data: {term: request.term},
    success:function(response){
        var response=JSON.parse(response); // parse json to object
        var len = response.length;
        if (len > 0){
            var icz = response[0].value;
            var odb = response[0].value1; //access values like this
            document.getElementById('ICZ').value = icz;
            document.getElementById('ODB').value = odb;
        }
    }
});

查看是否需要解析 json。在控制台中打印响应并检查是否需要解析它。

Var result =JSON.parse(response);

最新更新