Изменение отображения с JQuery не работает

0

Я пытаюсь, чтобы div с классом "manual_override_warning" был невидим, если пользователь не выбирает радиокнопку с идентификатором "manual_override_yes", но ничего не происходит, когда я нажимаю на кнопку, и я не вижу, где я ошибаюсь. Я попытался использовать.css(),.show() и.prop() и не смог заставить их работать.

Вот мой текущий js:

$(document).ready(function(){

    $(document.body).on('keypress keydown keyup change click',
        '#manual_override_yes, #manual_override_no', function() {
            if($("#manual_override_yes").prop('checked', true)) {
                $(".manual_override_warning").css("display", "block");
            }
    });

});

Вот html:

 <div class="manual_override_warning">Manual Override is Enabled. Autocompletion has been turned off.</div>

И вот css:

.manual_override_warning{
    background-color: red;
    color: white;
    text-align: center;
    font-style: italic;
    line-height: 2em;
    display: none;
}

Любая помощь будет принята с благодарностью! Спасибо, парни!

  • 0
    Как насчет того, чтобы просто изменить этот беспорядок с событием, которое на самом деле предназначено для переключателей, с событием change ?
  • 0
    Нет, это не так. Хороший вопрос, хотя.
Показать ещё 3 комментария

1 ответ

1
Лучший ответ

Вы можете поместить слушателя в событие change для переключателей. Для краткости я выбрал их по имени, а не по id или классу. Затем установите display предупреждающего сообщения на основании значения измененного переключателя.

<div class="manual_override_warning">
  Manual Override is Enabled. Autocompletion has been turned off.
</div>    

<label><input type="radio" name="manual_override" value="yes" /> Yes</label>
<label><input type="radio" name="manual_override" value="no" checked="checked" /> No</label>
$(document).on('change', 'input[name=manual_override]', function() {
    var display=$(this).val()=='yes'?"block":"none";
    $(".manual_override_warning").css("display",display);
});

РАБОЧИЙ ПРИМЕР

  • 0
    Спасибо! Вот и все!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню