jQuery - ajax返回未知数字

时间:2017-05-18 12:08:30

标签: javascript php jquery mysql ajax

我在尝试搜索某些id时遇到ajax结果的问题,例如:0205P,04066H等,它正确地给我结果但是当我点击它时,在输入中是其他一些数字,如616,7,13 ......所以一切都很完美,除非我的搜索以0(零)开头。 我在数据库中的ID(MYSQL)是Varchar(8)。 这是我的代码:

dob.php

<input type="text" name="konto1" id="konto" class="form-control konto" value="<?php if(isset($_POST['konto1'])) echo $_POST['konto1']; ?><?php if(isset($_GET['konto1'])) echo $_GET['konto1'];?>" />  
                          <div class="boja"><div style="margin-top: 0px" id="selectKonto" class="list-group"></div></div>

<script>
                    // ajax call
                    $('#konto').keyup(function() {
                        var konto = $(this).val();
                        $.ajax({
                            type: 'POST',
                            url: 'konto.php',
                            data: {
                                search: konto
                            },
                            beforeSend: function() {
                                $('#konto').css("background", "#FFF url(LoaderIcon.gif) no-repeat 165px");
                            },

                            success: function(data) {
                                if (!data.error) {
                                   // var reply = data.replace(/\s+/, ""); 
                                    $('#selectKonto').show();
                                    $('#selectKonto').html(data);

                                    $("#konto").css("background", "#FFF");

                                }
                            }
                        });
                    });
                    function selectKonto(val) {
                $("#konto1").text(val);
                $("#selectKonto").hide();

            } 
</script>

konto.php

if(!empty($konto)) {
    $q = "SELECT * FROM konto WHERE ... LIMIT 10";
    $result = $db->query($q);

    if(!$result){
        die('QUERY FAILED' . $db->error);
    }
    if($result->num_rows > 0){
        while($row = $result->fetch_assoc()){

        echo '<div><font size="2em"><a href="#" class="list-group-item konto" style="width: 555px;border: 1px solid grey;"
                onclick="selectKonto(\''.trim($row['kp_sif']).'\')">...
 <script>
    $('.konto').click(function() {     
    var text = $(this).html();
    $('.ime-konto').html(text);
    $("#selectKonto").hide();
    });
</script>

P.S。数据库中的字段类型必须保持varchar,我不能将其更改为INT。

1 个答案:

答案 0 :(得分:0)

因此,它可以在php中使用引号。

onclick="selectKonto(\''.trim($row['kp_sif']).'\')">

显然我在语法上还有其他问题。