根据窗体上的Picklist字段值,选中并取消选中复选框

Check and uncheck a Checkbox depending on Picklist field values on a form

本文关键字:复选框 取消 字段 窗体 Picklist      更新时间:2023-09-26

如果问题只取决于一个值,我已经找到了答案

这是:选中下拉选择上的复选框

然而,这个解决方案使用"value"这一事实使它对我来说并不理想,因为我需要这些值与标签相同,因为它们将进入外部数据库Salesforce。

这是我基于的例子所取得的进展

JS

function setChk(value){
    var chk = document.getElementById('00ND0000005VTZq');
    chk.checked = (value != "Parent");
}

但我想要的不是父母、学生和其他人。在它周围放置一个数组似乎不起作用。

Html

<label for="00ND0000005VTZq">Works for Organisation:</label>
<input  id="00ND0000005VTZq" name="00ND0000005VTZq" type="checkbox" value="1" />
<select id="00ND0000005iNnp" name="00ND0000005iNnp" title="General Enquiry - School Role"  onchange="setChk(this.value);">
<option value="Parent" worksfor="n">Parent</option>
<option value="Teacher" worksfor="y">Teacher</option>
<option value="PTA Member" worksfor="y">PTA Member</option>
<option value="School Management Team" worksfor="y">School Management Team</option>
<option value="Governor" worksfor="y">Governor</option>
<option value="Pupil" worksfor="n">Pupil</option>
<option value="Other" worksfor="n">Other</option>
</select>

我最初尝试设置另一个名为"worksfor"的变量,但我是一个Javascript新手,不知道在两个"SetChk"中,我必须将"value"的哪个实例更改为"worksfor",或者是应该这样做,还是只适用于value。。。

尝试if语句:

if (value!="Parent"  && value!="Pupil" && value!="Other") 
{
    chk.checked = true;
};

AND&&)相反的是OR||

当然,修改语句以使用您想要的内容。