Почему не вызывается функция selecGoods()
Всем привет, только начал изучать JS, не могу понять почему не вызывается функция selectGoods() для проверки пытался вывести yes в консоль, но ничего
function init() {
$.post(
"core.php",
{
"action" : "init"
},
showGoods
);
}
function showGoods(data) {
data = JSON.parse(data);
console.log(data);
var out='<select>';
out +='<option data-id="0">Новый товар</option>';
for (var id in data) {
out +=`<option data-id="${id}">${data[id].name}</option>`;
}
out +='</select>';
$('.goods-out').html(out);
$('goods-out select').on('change', selectGoods);
}
function selectGoods(){
var id = $('.goods-out select option:selected').attr('data-id');
console.log('yes');
console.log(id);
$.post(
"core.php",
{
"action" : "selectOneGoods",
"gid" : id
},
function(data){
data = JSON.parse(data);
$('#gname').val(data.name);
$('#gcost').val(data.cost);
$('#gorder').val(data.ord);
$('#gimg').val(data.img);
$('#gid').val(data.id);
}
);
}
$(document).ready(function () {
init()
});
Ответы (1 шт):
Автор решения: ksa
→ Ссылка
почему не вызывается функция selectGoods()
Ты не внимателен... Смотри на селекторы
$('.goods-out').html(out);
$('goods-out select').on('change', selectGoods);
Куда пропала точка у второго селектора?
function init() {
/*
$.post(
"core.php",
{
"action" : "init"
},
showGoods
);
*/
const arr = [
{name: 'item 1'},
{name: 'item 2'},
{name: 'item 3'},
]
showGoods(arr)
}
function showGoods(data) {
//data = JSON.parse(data);
//console.log(data);
var out = '<select>';
out += '<option data-id="0">Новый товар</option>';
for (var id in data) {
out += `<option data-id="${id}">${data[id].name}</option>`;
}
out += '</select>';
$('.goods-out').html(out);
$('.goods-out select').on('change', selectGoods);
}
function selectGoods() {
var id = $('.goods-out select option:selected').attr('data-id');
console.log('yes');
console.log(id);
/*
$.post(
"core.php", {
"action": "selectOneGoods",
"gid": id
},
function(data) {
data = JSON.parse(data);
$('#gname').val(data.name);
$('#gcost').val(data.cost);
$('#gorder').val(data.ord);
$('#gimg').val(data.img);
$('#gid').val(data.id);
}
);
*/
}
$(document).ready(function() {
init()
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='goods-out'></div>

