Можете объяснить эту конструкцию:
$(function(){
var arr = [
{key:1, val:123, val2:1},
{key:2, val:223, val2:2},
{key:3, val:323, val2:2},
{key:4, val:423, val2:1}
],
Этой просто объявляется массив, тут понятно
obj = {}, a,b;
Это специально идет через обычную запятую? что делает эта част? просто присваивается в переменную obj массив и два значения?
Object.keys(arr).forEach(function (a) {
var el = arr[a];
obj[el.key] = [el.val,el.val2];
});
Это видимо перебор? Тут идет сравнение со значением из select?
$("#myselect").on("change", function() {
var s = obj[this.value];
a = s[0];
b = s[1];
$("p").html(a+ " - " + b)
}).change()
Вот эта часть у меня выдает ошибку, видимо потому что это и так находится все в функции изменения которой стоят на on.change. Вот так выдает ошибку
var arr = [
{key:1, val:123, val2:1},
{key:2, val:223, val2:2},
{key:3, val:323, val2:2},
{key:4, val:423, val2:1}
], obj = {}, a,b;
Object.keys(arr).forEach(function (a) {
var el = arr[a];
obj[el.key] = [el.val,el.val2];
});
var s = obj[this.value];
a = s[0];
b = s[1];
$("p").html(a+ " - " + b)