在我的代码中,在表单内部,我有多选列表框:
<SELECT style="width: 250px;" id="data" multiple="multiple" name="data">
<OPTION value="111" selected="selected">111</OPTION>
<OPTION value="222">222</OPTION>
<OPTION value="333">333</OPTION>
</SELECT>
提交表单我正在使用jquery.form.js插件。
$(document).ready(function () {
var options = {
beforeSubmit: showRequest,
success: showResponse
};
$('#myForm').ajaxForm(options);
});
插件仅提交选择的值: 111 。如何强制它序列化并提交所有值,而不仅仅是选定的值: 111 , 222 和 333 ?
Btw:事件showRequest看起来如下:
showRequest: function (formData, jqForm, options) {
//..
return true;
},
我认为我可以修改此函数中的formData,并传递此重载对象以进行提交。但是没有这样的选择,是吗?当我在这里遍历所有选择选项并强制所有选择属性时,也没有任何变化。
有什么想法吗?我想使用这个插件,我不想通过自定义代码提交表单。
此致
更新: @JK,@ Luke,只是为了简短的解释,我想提交所有选项,尽管选择,例如当我有以下情况时:
所以我没有严格定义的选项列表,我可以在其中选择或取消选择其中一些选项。在我的情况下,我可以创建新的选项,我需要我描述的功能。
答案 0 :(得分:0)
好吧,看来你已经有了数据(在formData
中),所以尝试在那里添加一个包含所有值的字段 - 你如何序列化它完全是你的决定。
如果这不起作用,请尝试添加隐藏字段以存储值。您可以创建一个并对其进行enconde,也可以创建多个(具有相同的名称),每个值一个。