未选中框上的归还财产

时间:2014-03-08 10:54:41

标签: javascript jquery checkbox properties

如果未选中复选框,请尝试将表单控件属性返回到“已启用”。 所以,对于这个HTML片段:

<div id="post">
    <div class="Response">
        <label><input type="radio" name="Radio402" value="Y" id="R402Y" onchange='radioChange(this, "402")'>Yes</label>
    </div>

    <div class="responseDetails">
        <div class="Observation">
            <label for="Obs402">Observation:</label>
            <textarea name="observation" id="Obs402" rows="6" disabled></textarea>
        </div>
        <div class="DueDate">
            <label for="DueDate402">Due date:<br></label>
            <input name="DueDate" class="DueDate_in" type="text" id="DueDate402"/>
        </div>
        <div class="actions">
            <label for="pa402">Actions required to correct and/or prevent this observation:</label>
            <textarea name="actions" id="pa402" rows="6"></textarea>
        </div>?
    </div>
</div>

<label for="item">Check me</label>
<input type="checkbox" id="item"/>

我正在应用这个JS

$(document).ready(function()
{
    if($("#item").click(function()
    {
        $("#post").prop("disabled", true);
    }));
    else
    {
        $("#post").prop("disabled", false);
    };
});

也试过了

$("#item").change(function(){
    if (this.checked) {
        $("#post").prop("disabled", true);
    } else {
        $("#post").prop("disabled", false);
    }
});

如果CHECKED被禁用,但是如果UNCHECKED它被REMAINS禁用。我究竟做错了什么?我也试过了change(function)()。我觉得JS没有看到unchecking事件,因此没有返回属性。提前谢谢。

更新:哦,伙计们,请注意,有一个textarea元素,默认情况下保持DISABLED并由其他地方的radiobtn控制。当取消选中框时,此文本字段不会被启用。

2 个答案:

答案 0 :(得分:2)

您想使用:checked

$('#item').on('click', function(){
    $("#post").prop("disabled", $(this).is(':checked'));
});

示例:http://jsfiddle.net/VTtw5/

答案 1 :(得分:1)

您需要让条件检查是否在元素的更改处理程序(更改事件更改为click事件)内选中了复选框。然后,您需要启用/禁用#post元素

中的输入元素
jQuery(function ($) {
    //change event handler
    $("#item").change(function () {
        //disable/enable input elements
        $("#post :input").prop("disabled", !this.checked);
    }).change();//set the initial state based on checked state of the checkbox
});

演示:Fiddle