我在尝试搜索某些ID时遇到ajax结果问题,例如:0205P,04066H等,它可以正确地给我结果,但是当我单击它时,输入的是其他一些数字,例如616、7,13 ...所以一切正常除非我的搜索从0(零)开始。
我在数据库(MYSQL)中的ID是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>


附言数据库中的字段类型必须保留varchar,我无法将其更改为INT。

最佳答案

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

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


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

关于javascript - jQuery-Ajax返回未知数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44047365/

10-12 12:30
查看更多