簡體   English   中英

jQuery自動完成問題-每個字符在單獨的行上

[英]jQuery autocomplete issue - each character on separate line

我正在嘗試使自動完成文本框正常工作。 這是我到目前為止的代碼:

if ($action == 'find_products')
{
    $dept = $_POST['dept'];

    $stk_adddep = "
        SELECT * FROM stocktake_products WHERE stocktake_id = '{$stocktake_id}' AND is_deli = 0 AND department_description LIKE '{$dept}%' LIMIT 10; ";

     $result = db::c()->query($stk_adddep);
     while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
   $data[] = array(
        'full_name' => $row['product_name'],
        'value' => $row['product_name']);
}
    echo json_encode($data);
    die();
}

Div顯示文本框:

<input type="text" placeholder="Name" id="customerAutocomplte" />

JS代碼:

$('#customerAutocomplte').autocomplete({

            source: function( request, response ) {
            var dept = $('#customerAutocomplte').val();
        $.ajax({
            url: '<?php echo Navigation::gUrl('/users/admin/stocktake_details_nonbcodeditems.php', array('stocktake_id' => $stocktake_id, 'action' => 'find_products'));?>',
            type: 'POST',
            data: {'dept':dept},
                         success: function( data ) {
                         response( $.map( data, function( item ) {
                            return {
                                label: item,
                                value: item
                            }
                        }));
                    }
                });
            },
            autoFocus: true,
            minLength: 0        
          });

PHP部分似乎工作正常,我得到的響應如下:

[{“ full_name”:“休伯特克里斯塔爾王子”,“值”:“休伯特克里斯塔爾王子”},{“ full_name”:“施洛爾”,“值”:“ Schloer”},{“ full_name”:“ Underberg 20ml” ,“ value”:“ Underberg 20ml”},{“ full_name”:“敖德薩伏特加20cl”,“ value”:“敖德薩伏特加20cl”},{“ full_name”:“ Marula”,“ value”:“ Marula”} ,{“ full_name”:“ Maderia Verdelho 15yr old”},{“ full_name”:“ Madeira Malsmey 15yr old”,“ value”:“ Madeira Malsmey 15yr old”},{ “ full_name”:“ Hennessey 5cl”,“ value”:“ Hennessey 5cl”},{“ full_name”:“ Jack Daniels 35cl”,“ value”:“ Jack Daniels 35cl”},{“ full_name”:“ Madeira Bual 10 yr old“,” value“:” Madeira Bual 10 yr old“}]

但是,結果在文本框中顯示的方式不正確。 例如,顯示的是整行“值”:“ Jack Daniels 35cl”,其中每個字符都是文本框中的單獨條目。

嘗試在回調函數中使用item.value:

標簽:item.value值:item.value

$('#customerAutocomplte').autocomplete({

        source: function( request, response ) {
        var dept = $('#customerAutocomplte').val();
    $.ajax({
        url: '<?php echo Navigation::gUrl('/users/admin/stocktake_details_nonbcodeditems.php', array('stocktake_id' => $stocktake_id, 'action' => 'find_products'));?>',
        type: 'POST',
        data: {'dept':dept},
                     success: function( data ) {
                     response( $.map( data, function( item ) {
                        return {
                            label: item.value,
                            value: item.value
                        }
                    }));
                }
            });
        },
        autoFocus: true,
        minLength: 0        
      });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM