Подставить значения, выпадающего списка, 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 товара, а не его название ?