如何使用form.serialize()发送select2多个选定的选项值?

时间:2019-07-07 05:53:25

标签: jquery html ajax jquery-select2

我使用select2在html中选择了多个选项,并希望使用form.serialize()将选定的值作为数组发送以更新数据库字段,并且我的表单中还有其他输入。我该怎么办?

html:

<html>
<select name="number" id="number" required class="js-example basic-multiple" multiple="multiple[]">
<option class="select_option" value="1" >1</option>
<option class="select_option" value="2" >2</option>
<option class="select_option" value="3" >3</option>
</select>
</html>

我想发送[1,2,3]作为form.serialize()的一部分。

2 个答案:

答案 0 :(得分:0)

据我了解,我认为您想实现这一目标。

$(window).click( function (e) {
          // if a submit button is clicked
          if (e.target.matches('#submit-button')) {
            // get the action url of the form you are submiting 
            var actionUrl = e.currentTarget.action
            $.ajax({
                url: actionUrl,
                type: 'post',
                dataType: 'json',
                // include the form you are submiting
                data: $('form#myForm').serialize(),
                complete: function () {
                 console.log('form successfully submitted')
               }
            });
          }
        });

让我知道您是否想要其他东西。

答案 1 :(得分:0)

我在html部分有误。 [],应该在select标记的名称之后,而不是Multiple属性。所以应该是:

<html>
<select name="number[]" id="number" required class="js-example basic-multiple" 
multiple="multiple">
<option class="select_option" value="1" >1</option>
<option class="select_option" value="2" >2</option>
<option class="select_option" value="3" >3</option>
</select>
</html>