选择加入/退出复选框

mat*_*t _ 1 javascript checkbox jquery

我试图创建一种简单的方法来强制单个复选框在表单提交中显示"否",如果未选中或单击关闭.我已经尝试了很多方法,这是我能得到的最接近的方法,但它仍然无法正常工作.

任何帮助深表感谢.马特

$(function opt() {
        if ($("#optIn").is(":checked")) {
            $("#optIn").value="Yes"
            $("#optIn").click(function() { this.value="No" })
        } else {
            $("#optIn").value="No"
            $("#optIn").click(function() { this.value="Yes" })
        }
    return false
});

opt();
Run Code Online (Sandbox Code Playgroud)

jar*_*oyt 7

未选中的复选框不是成功的控件,因此不会使用其余的表单数据进行POST.

最简单的解决方案是创建一个隐藏的输入,其名称与包含"未选中"值的复选框相同:

<input type="hidden" name="myCheckbox" value="No" />
<input type="checkbox" name="myCheckbox" value="Yes" />
Run Code Online (Sandbox Code Playgroud)

myCheckbox=No如果未选中该复选框,这将导致表单POST .

  • 我错了还是不太必要..?说,假设OP只有1个`myCheckbox`可以检查或不检查,如果在提交表单时没有检查,OP可以很好地测试php中的if(!$ _ POST ['myCheckbox'])`并假设它未被选中,在php本身中为它指定一个"No"值.问题与PHP无关,我不了解其他服务器端语言,只是将其留在这里思考. (2认同)