使用jquery.form.js插件从多选列表框中提交所有选项

时间:2011-02-06 22:07:34

标签: jquery jquery-plugins

在我的代码中,在表单内部,我有多选列表框:

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

enter image description here

提交表单我正在使用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,只是为了简短的解释,我想提交所有选项,尽管选择,例如当我有以下情况时: enter image description here

所以我没有严格定义的选项列表,我可以在其中选择或取消选择其中一些选项。在我的情况下,我可以创建新的选项,我需要我描述的功能。

1 个答案:

答案 0 :(得分:0)

好吧,看来你已经有了数据(在formData中),所以尝试在那里添加一个包含所有值的字段 - 你如何序列化它完全是你的决定。

如果这不起作用,请尝试添加隐藏字段以存储值。您可以创建一个并对其进行enconde,也可以创建多个(具有相同的名称),每个值一个。