使用JQuery更改显示无法正常工作

时间:2014-04-24 17:46:36

标签: javascript jquery html css

我想尝试使用" manual_override_warning"等级的div。除非用户选择带有id" 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;
}

任何和所有帮助将不胜感激!谢谢你们!

1 个答案:

答案 0 :(得分:1)

您可以在单选按钮的change事件上放置一个监听器。为了简洁起见,我选择了它们而不是id或class。然后根据更改的单选按钮的值设置警告消息的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);
});

WORKING EXAMPLE