我想根据 2 个表单输入是否匹配来显示/隐藏页面上的元素。所以在这个例子中,如果一个文本字段大于 100000 并且一个单选按钮有一个特定的值,就会显示这些元素。如果仍然选择了正确的单选,但数值下降到 100000 以下,则元素隐藏。(这个代码是一个更大的脚本的一部分,以防它没有意义)。
它在大多数情况下都有效,但文本字段的onchange
/事件在与单选值事件onkeyup
一起使用时不会自行触发。onclick
我必须重新单击更改文本字段值的单选按钮才能触发事件。(这不是onblur
问题。onchange
它本身可以正常工作,但不能使用逻辑&&
运算符。)
<li id="f-container-applicant-bondamount">
<label for="f-applicant-bondamount">Amount of Bond</label>
<input type="text" name="ApplicantBondAmount" id="f-applicant-bondamount" onkeypress="showMoreInfo(this);" />
</li>
<li id="f-container-applicant-is">
<label for="f-applicant-is">Applicant is...</label>
<ul>
<li>
<label for="f-applicant-is_0">
<input type="radio" name="ApplicantIs" id="f-applicant-is_0" value="Administrator" onclick="showMoreInfo(this);" />
Administrator
</label>
</li>
<li>
<label for="f-applicant-is_1">
<input type="radio" name="ApplicantIs" id="f-applicant-is_1" value="Executor" onclick="showMoreInfo(this);" />
Executor
</label>
</li>
</ul>
</label>
</li>
<li id="f-container-applicant-moreinfo">
<label for="f-applicant-moreinfo">More Info</label>
<input type="text" name="ApplicantMoreInfo" id="f-applicant-moreinfo" />
</li>
function showMoreInfo(x) {
var bond = document.getElementById('f-applicant-bondamount');
var y = bond.value;
if (y > 100000 && x.value == "Administrator") {
document.getElementById('f-container-applicant-moreinfo').style.display = 'block';
}
else if (y <= 100000 && x.value == "Administrator") {
document.getElementById('f-container-applicant-moreinfo').style.display = 'none';
}
}
提前致谢。