Подставить значения, выпадающего списка, autocomplete

<script type="text/javascript">
    var special_row = '<?php echo $special_row; ?>';
    function addSpecial() {
        html  = '<tr id="special-row' + special_row + '">';
        html += '  <td class="text-right"><input type="hidden" name="product_id[' + special_row + ']"/><input type="text" name="product_special[' + special_row + ']"  placeholder="<?php echo $entry_name_product; ?>" value="" id="input-product"  class="form-control" /></td>';
        html += '  <td class="text-left"><button type="button" onclick="$(\'#special-row' + special_row + '\').remove();"  class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>';
        html += '</tr>';
        $('#special tbody').append(html);
        $('input[name=\'product_special['+special_row+']\']').autocomplete({
            'source': function(request, response) {
                $.ajax({
                    url: 'index.php?route=catalog/product/autocomplete&token=<?php echo $token; ?>&filter_name=' +  encodeURIComponent(request.term),
                    dataType: 'json',
                    success: function(json) {
                        response($.map(json, function(item) {
                            return {
                                label: item['name'],
                                value: item['product_id']
                            }
                        }));
                    }
                });
            },
            'select': function(event, ui) {
                $('input[name=\'product_special['+(special_row-1)+']\']').val(ui.item.label);
                $('input[name=\'product_id['+(special_row-1)+']\']').val(ui.item.value);
            }
        });
        special_row++;
    }
</script>

Когда начинаешь заполнять input появляется список

[{product_id: "1492", name: "Ролл-штора Блэкаут графит", model: "С0000015305", option: 
[,…],…},…]
0: {product_id: "1492", name: "Ролл-штора Блэкаут графит", model: "С0000015305", option: 
[,…],…}
1: {product_id: "5071", name: "Ролл-штора Блэкаут Кристалл белый", model: "С0000021935", 
option: [,…],…}
2: {product_id: "1493", name: "Ролл-штора Блэкаут Кристалл голубой", model: "С0000018853", 
option: [,…],…}
3: {product_id: "5072", name: "Ролл-штора Блэкаут Кристалл крем", model: "С0000015317", 
option: [,…],…}
4: {product_id: "1491", name: "Ролл-штора Блэкаут экрю", model: "С0000015306", option: 
[,…],…}

Ответ response($.map(json, function(item) {

 `{product_id: "1492", name: "Ролл-штора Блэкаут графит", model: "С0000015305", option: 
 Array(1), price: "769.0000"}`

Когда выбираю товар

name="product_id[3] заполняться правильно 

а в $('input[name=\'product_special['+(special_row-1)+']\']').val(ui.item.label);

почему то тоже вставляется product_id товара, а не его название ?


Ответы (0 шт):