我有一个带有重复部分的小型网络表单,并且我有一个复选框,我想像这样影响以前的隐藏字段:
<td>
<label class="lblappUploadRequired" style="display: none"></label>
<input type="hidden" class="data" name="Approvals[0].appUploadRequired" value="false"/>
<input type="checkbox" onclick="changeUpReq()" />
</td>
function changeUpReq() {
alert($(this).prev().attr('name'));
$(this).prev().val(this.checked ? 'true' : 'false');
}
但我在警报中得到的只是未定义,并且该值未设置。我在这里弄乱了什么吗?
最佳答案
尝试在事件处理程序中接收 this
,
JS:
function changeUpReq(_this) {
alert($(_this).prev().attr('name'));
$(_this).prev().val(_this.checked ? 'true' : 'false');
}
HTML:
<input type="checkbox" onclick="changeUpReq(this)" />
这可能会解决您的问题。但最好为其创建一个专用的事件处理程序。
关于javascript - 选择前一个隐藏元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35919136/