【问题标题】:How to send select2 multiple selected option values with form.serialize()?如何使用 form.serialize() 发送 select2 多个选定的选项值?
【发布时间】:2019-07-07 05:53:25
【问题描述】:

我使用 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() 的一部分发送。

【问题讨论】:

    标签: jquery html ajax jquery-select2


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      $(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')
                     }
                  });
                }
              });
      

      如果您想要不同的东西,请告诉我。

      【讨论】:

      • 我发现我可以在选择标签中使用多个属性来做到这一点。但是,还是不行。
      • 直接的方法是使用select 标签发送一个option。但也许你可以使用复选框。或者你可以创建三个select标签,分别以option[1], option[2], option[3]作为值。
      • 我使用 select2 来选择多个选项。
      • 我想说。 form.serialize() 需要具有不同名称的输入才能正常工作。
      • 这是我找到的stackoverflow.com/a/22955029/10742220。但多个选项不起作用。
      猜你喜欢
      • 2012-12-29
      • 2017-06-25
      • 1970-01-01
      • 1970-01-01
      • 2014-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多