使用复选框名称选中/取消选中复选框

时间:2017-11-07 23:23:03

标签: javascript jquery

我在使用JSF动态创建的表中有复选框,我得到如下所示的HTML输出,

 <input name="testForm:j_idt78:0:negative" id="testForm:j_idt78:0:negative" onchange='PrimeFaces.ab({s:this,e:"change",p:"testForm:j_idt78:0:negative"});' type="checkbox">
<input name="testForm:j_idt78:0:positive" id="testForm:j_idt78:0:positive" onchange='PrimeFaces.ab({s:this,e:"change",p:"testForm:j_idt78:0:positive"});' type="checkbox">
<input name="testForm:j_idt78:0:na" id="testForm:j_idt78:0:na" onchange='PrimeFaces.ab({s:this,e:"change",p:"testForm:j_idt78:0:na"});' type="checkbox">

我在控制台上收到以下异常:SCRIPT5022: Syntax error, unrecognized expression: unsupported pseudo: j_idt78

如何根据名称属性选择复选框?

1 个答案:

答案 0 :(得分:1)

您使用CSS attribute selector

const inputId = 'testForm:j_idt78:0'
const negativeId = inputId + ':negative'
document.querySelector('input[type="checkbox"][name="' + negativeId + '"]').checked = true
<input name="testForm:j_idt78:0:negative" id="testForm:j_idt78:0:negative" type="checkbox">
<input name="testForm:j_idt78:0:positive" id="testForm:j_idt78:0:positive" type="checkbox">
<input name="testForm:j_idt78:0:na" id="testForm:j_idt78:0:na" type="checkbox">