jef*_*ind 7 html checkbox jquery serialization
我有一个带有一些复选框的HTML表单.我使用jQuery .serialize()函数使查询字符串提交到数据库.我遇到的问题是,当未选中复选框时,该.serialize()函数不会在查询字符串中注册它.
我的问题在这个jsfiddle中说明:http://jsfiddle.net/cTKhH/.
这是一个问题,因为我仍然需要将未经检查的复选框的值保存到数据库.现在,仅在选中复选框时才会保存信息.如果未选中,并且.serialize()提交了信息,则不会进行任何更改,因为没有提交信息.
有没有人知道如何使我的.serialize()函数在未选中时返回所有复选框的未选中值?
谢谢!!
**编辑**
更多信息,我现在知道为什么未提交未选中的复选框,因为它不是"成功"的表单控件,请参见此处:http://www.w3.org/TR/html401/interact/forms. html#successful-controls.
希望我仍然修改.serialize()函数以提交未经检查的值.
jQuery.serialize()几乎与浏览器执行相同的操作,然后提交表单。\n未选中的复选框不包含在表单提交中。
解决方法是使用select元素。
查看我的示例和这个jsFiddle 演示
\n\n<form>\n<select id="event_allDay" name="a">\n <option value="0" selected>No</option>\n <option value="1">Yes</option>\n</select>\n</form>\n<button id="b">submit</button>\xe2\x80\x8b\n\n\n$(\'#b\').click(function() {\n alert($(\'form\').serialize());\n});\xe2\x80\x8b\nRun Code Online (Sandbox Code Playgroud)\n\n编辑
\n\n我不知道您是否使用以及使用什么服务器技术。但如果您使用一个,您也可以使用默认值来修复该问题。
\n