如何检查chekcbox是否已选中

时间:2018-08-12 12:54:58

标签: javascript

我有一张桌子,每行里面都有一个复选框。

<input type="checkbox" onclick="handleClickOnReduce(this)" checked="">

处理程序的工作方式如下:

function handleClickOnReduce (dom) {
  console.log(dom)
  if (dom.checked === 'true') {
    console.log('checked')
  }
  if (dom.toString().includes('checked')) {
    console.log('checked')
  }
  if (stompClient) {
    var chatMessage = {
      sender: 'userRequest',
      content: [dom.parentElement.id],
      type: 'REDUCE'
    }
    stompClient.send('/app/chat.sendMessage', {}, JSON.stringify(chatMessage))
  }
}

您已经可以看到我的问题了。我尝试找出handleClockOnReduce函数的调用方的复选框是选中还是未选中。

有什么主意吗?

1 个答案:

答案 0 :(得分:1)

dom.checked的布尔值true与字符串"true"不同。与true进行比较:

  if(dom.checked === true)

或者只将布尔itslef作为条件:

  if(dom.checked)

您显示的其他条件

  if (dom.toString().includes('checked'))

非常容易出错,因为<option id="checked">也会匹配。