JQuery:切换隐藏字段的值

时间:2013-08-14 19:34:03

标签: jquery

我一直在寻找如何做到这一点。在我的表单中,我想通过单击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/

3 个答案:

答案 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