如果满足其他数据条件,则将隐藏复选框设置为true

时间:2012-12-06 21:49:20

标签: javascript jquery jquery-ui kendo-ui

我有一个分为Kendo UI Panel Bar的表单。在第一个面板中,我有一个字段,当填充任何文本时,检查当前不可见的复选框,并位于其下方的折叠面板中。

我的问题是复选框没有检查。我已经阅读了一些关于如何在不可见时禁用复选框的帖子。有解决方法吗?

    function Validate(uid) {
    if ($("#SomeNumber_" + uid).val().length > 0) 
    {
        $("#MyCheckBox").attr('checked', true);  //This checkbox is display:none at the time this is set
        //Also tried these, but they didn't work:
        //$("#MyCheckBox").click();
        //var myCheckBox= document.getElementById("MyCheckBox");
        //myCheckBox.checked = true;
    }
}

2 个答案:

答案 0 :(得分:2)

尝试$("#MyCheckBox").prop('checked', true);

我有一个类似的用例,可以证明可以检查一个隐藏的复选框。

我认为使用attr的正确方法是 $("#MyCheckBox").attr('checked', 'checked');

答案 1 :(得分:2)

只需通过按钮动态更改复选框,即可测试复选框上的显示无。它适用于display none set。

http://jsfiddle.net/jmsessink/hcWf8/1/

以下内容将您的复选框的attr设置为“已选中” -

这个 -

$('#MyCheckBox').attr('checked', true)

以及

$('#MyCheckBox').attr('checked', 'checked')

以及

document.getElementById('MyCheckBox').checked = true;

以及

document.getElementById('MyCheckBox').checked = 'checked';

*编辑 - 更新了jsfiddle版本以显示这四种方法