检查是否选中了复选框:DOJO Javascript

时间:2013-04-04 02:06:15

标签: javascript dojo

我的页面中定义了一个复选框,代码如下,

<li class="Checkbox"> 
             <input 
                 id="Flag1" 
                 onclick="obj(this);"
                 type="checkbox"
                 name="Flag1.CheckName" 
                 dojotype="rmt.YNCheckBox"
                  <c:if test="${depotVal.checkFlag}">checked</c:if> 
             /> 
        </li>     

在我的javascript中,我正在尝试检查上面的复选框是否已选中,并且只有在选中时我才会继续使用其余的代码。

我尝试使用以下代码。它不起作用并在页面末尾抛出错误。

var chkbox1 = dijit.byId("Flag1");

alert(chkbox1.checked);  //returns true when checked and false when unchecked

if ((chkbox1.checked) || (chkbox1.checked == true)){
       ...
        }

还有其他选择吗?如何让它始终如一?此外,上述代码段在Mozilla中不起作用。

2 个答案:

答案 0 :(得分:0)

它在哪里抛出错误? chkbox1是真正的dijit吗?

你是否应该使用dijit的domNode

chkbox1.domNode.checked

答案 1 :(得分:0)

我就这样做了:

var t = query(".dijitCheckBoxInput");
array.forEach(t, function(item){
    if (item.checked) {
        item.checked = false;
    }
});

但是,这不会取消选中复选框,只会更改其内部状态。要取消选中它们,我将其容器的innerHTML设置为checkBoxContainer.innerHTML ='';然后我执行了最初绘制复选框的函数。

你可能现在已经知道了,但我想我会把它发布给其他试图做类似事情的人。