我一直在寻找如何做到这一点。在我的表单中,我想通过单击div来来回切换值(true< - > false)。
如何使用jquery切换隐藏字段的true / false值?
<input id="myHiddenField" name="my[hidden_field]" type="hidden" value="false">
<a id="myDiv">Click Me</a>
我试过
$('#myDiv').on('click'), (function() {
var hiddenField = $('#myHiddenField'),
val = hiddenField.val();
hiddenField.val(val === "true" ? "false" : "true");
});
但没有:(
的jsfiddle: http://jsfiddle.net/MV3A4/2/
答案 0 :(得分:18)
这很简单。向div添加单击处理程序,并使用val()方法更新输入的值。
您尚未发布标记,因此我使用了一些占位符ID。您需要将这些更新为在您的上下文中工作的选择器:
<强> Working Demo 强>
$('#myDiv').on('click', function() {
var hiddenField = $('#myHiddenField'),
val = hiddenField.val();
hiddenField.val(val === "true" ? "false" : "true");
});
请注意,输入值始终是字符串,因此这些不是真正的布尔值。
答案 1 :(得分:2)
只需javascript:
document.getElementById('myClickableDiv').addEventListener('click',function(){
var value =document.getElementById('myHiddenField').value();
if(value === "true"){
document.getElementById('myHiddenField').value = "false";
}else{
document.getElementById('myHiddenField').value = "true";
}
};
答案 2 :(得分:0)
你试过的jQuery代码有错误,在'click'
之前不应该有正确的paren