Показать сообщение отдельно
  #5 (permalink)  
Старый 15.07.2016, 10:22
Интересующийся
Отправить личное сообщение для vnmslf Посмотреть профиль Найти все сообщения от vnmslf
 
Регистрация: 14.07.2016
Сообщений: 12

Сообщение от 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)
        })
    }),
Ответить с цитированием