@amazinginternetsites

Почему не работает код js?

Собрал конструкцию появления блока в зависимости от выбранного пункта выпадающего списка.
Но не работает.

$(document).ready(update);
$('#f_lr1ro').change(update);
function update() {
var val = +$('#f_lr1ro option:selected').val();
var showFirst = [2, 3].indexOf(val) >= 0; 
$('#f_lr1rowtd').toggle(showFirst); };


console.log($('f_lr1ro')); вывел такой результат
[prevObject: x.fn.x.init[1], context: document, selector: "f_lr1ro", jquery: "1.10.2", constructor: function…]
context: document
length: 0
prevObject: x.fn.x.init[1]
selector: "f_lr1ro"
__proto__: Object[0]

Что делать, подскажите )
  • Вопрос задан
  • 790 просмотров
Решения вопроса 1
w999d
@w999d
Web-developer
var update = function() {
    var val = +$('#f_lr1ro option:selected').val();
    var showFirst = [2, 3].indexOf(val) >= 0; 
    $('#f_lr1rowtd').toggle(showFirst); 
};
$(document).ready(function(){
    $('#f_lr1ro').change(update);
    update();
});


var update = function() {
    var val = +$('#f_lr1ro option:selected').val();
    var showFirst = [2, 3].indexOf(val) >= 0; 
    $('#f_lr1rowtd').toggle(showFirst); 
};
var update2 = function() {
    var val = +$('#f_lr1rowtd option:selected').val();
    var showFirst = [3, 4, 5, 6, 7, 8].indexOf(val) >= 0; 
    var showSecond = [9, 10, 11, 12].indexOf(val) >= 0; 
    $('#f_lr1rooq').toggle(showFirst);
    $('#f_lr1ronq').toggle(showSecond);
};
$(document).ready(function(){
    $('#f_lr1ro').change(update);
    $('#f_lr1rowtd').change(update2);
    update();
    update2();
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@kofon
Я человек
человек выше уже написал, я лишь дополню:
console.log($('f_lr1ro')); // пропустил знак #
лучше вставь функцию update в .ready (если она тебе больше нигде не нужна)
[2, 3].indexOf(val) >= 0;  // вернёт bool, тебе это нужно?

и проверяй что-то типа $('#f_lr1ro'), прям в консоли браузера
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы