Сообщение от Spass
|
Без кода я не подскажу почему не работает
Оптимальный вариант - после формирования структуры(скрипты вписывать не нужно) вешаешь на все селекты обработчик
$('div.unit select').on('change', function() {
alert($(this).val());
//делаем что нужно
});
|
Ну сам alert-то мне и не нужен, я его в качестве проверки использую. А какой код предоставить?? Код, что я предоставил выше - из файла main.js, могу его целиком дать:
Часть 1:
function arrayObjectIndexOf(e, t, r) {
for (var a = 0, o = e.length; o > a; a++)
if (e[a][r] === t) return a;
return -1
}
function triads(e) {
return e = e.toString(), e.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, "$1 ")
}
function jsTils(e, t) {
var r;
return count = e % 100, count >= 5 && count <= 20 ? r = t[2] : (count %= 10, r = 1 == count ? t[0] : count >= 2 && count <= 4 ? t[1] : t[2]), r
}
function localstorageGet(e) {
return Modernizr.localstorage ? lscache.get(e) ? lscache.get(e) : (localStorage.clear(), !1) : void 0
}
function localstorageSet(e, t, r) {
Modernizr.localstorage && lscache.set(e, JSON.stringify(t), 1440), (r = r || function() {})()
}
$(function() {
function e(e) {
a.slideUp(300), a.eq(e).slideDown(300, function() {
_billboards_map_ && _billboards_map_.container.fitToViewport()
})
}
function t() {
$activeBtn = r.filter(".active"), index = r.index($activeBtn), e(index)
}
var r = $(".tabs-btn>a.tab-btn"),
a = $(".tabs>.tab");
t(), r.click(function(e) {
e.preventDefault(), $(this).is(".active") || (r.removeClass("active"), $(this).addClass("active"), _mapMarkers_.forEach(function(e) {
e.marker.balloon.close()
}),
t())
})
});
var _mapMarkers_ = [],
_billboards_map_;
$(function() {
function e() {
var e = localstorageGet("billboards_ids");
$(".billboards #list-view tr").removeClass("ordered"),
_mapMarkers_.forEach(function(e) {
var t = e.marker.properties.get("type");
e.marker.properties.set("btn_type", "Заказать"),
e.marker.properties.set("ordered", ""),
e.marker.options.set("iconImageHref", o[t])
}),
e && e.forEach(function(e) {
$(".billboards #list-view tr[data-id=" + e + "]").addClass("ordered"),
_mapMarkers_.forEach(function(t) {
if (e == t.id) {
var r = t.marker.properties.get("type");
t.marker.properties.set("btn_type", "Отменить"),
t.marker.properties.set("ordered", "ordered"),
t.marker.options.set("iconImageHref", i[r])
}
})
});
r();
}
function t() {
var e = localstorageGet("billboards_ids"),
t = 0,
r = 0;
if (e) {
e.forEach(function(e) {
billboards_json.items.forEach(function(a) {
e == a.id && (t += 1, r += a.price)
})
});
var a = jsTils(t, ["Выбран ", "Выбрано ", "Выбрано "]) + t + jsTils(t, [" щит", " щита", " щитов"]);
r = triads(r), s.find(".count").text(a), s.find(".numbers").text(r + " рублей."), 0 == t ? s.hide() : s.show()
} else s.hide()
}
function r() {
"undefined" != typeof billboards_json && localstorageSet("billboards_json", billboards_json.items)
}
function a() {
if ($("#request-form .selected-billboards").size()) {
var e = localstorageGet("billboards_ids"),
t = localstorageGet("billboards_json");
if (e && t && e.length > 0) {
var r = [];
e.forEach(function (e) {
var months = 1;
var value = 1;
t.forEach(function (t) {
e == t.id ?
$('<div class="unit" data-id="' + t.id + '"><div class="billboard-address">' + t.address +
'<a href="" class="close"></a></div><label style="margin: 0 14px 0 0; display: inline-block;' +
' float: right;"><input type="checkbox" name="need_design" value="1" checked="checked" ' +
'style="width: 14px;"><div class="label">Разработать макет рекламного щита</div></label>' +
'<div class="test">Стоимость аренды щита за 1 месяц: ' + t.price + '</div>' +
'<div class="test">Срок размещения в месяцах: <script>function displayVals' + t.id +
'(){var value = $( "#select' + t.id + '" ).val();};' +
'$( "select' + t.id + '" ).change(displayVals' + t.id + ');displayVals' + t.id +
'();</script><select id="select' + t.id +
'" onChange="displayVals' + t.id + '(); alert(value*' + t.price + ');">' +
'<option value="1">1</option><option value="2">2</option><option value="3">3</option>' +
'<option value="4">4</option><option value="5">5</option><option value="6">6 (скидка -6%)</option>' +
'<option value="7">7 (скидка -7%)</option><option value="8">8 (скидка -8%)</option>' +
'<option value="9">9 (скидка -9%)</option><option value="10">10 (скидка -10%)</option>' +
'<option value="11">11 (скидка -11%)</option><option value="12">12 (скидка -12%)</option>' +
'</select>' +
'<div class="new-price">Итоговая цена по данному щиту: <span>' + months*t.price*value + '</span>' +
'</div></div></div>').prependTo("#request-form .selected-billboards .list")
: r.push(e)
})
}),