【问题标题】:Getting selected data in Form from Select2 ajax call从 Select2 ajax 调用中获取表单中的选定数据
【发布时间】:2014-05-11 17:55:25
【问题描述】:

我在 HTML 表单中使用 Select2 jQuery 插件通过 ajax 调用获取远程数据。此功能运行良好。

但是在提交表单的时候,Select2元素中选择的值在表单POST数据中是不可用的。

我能够获取有关单选按钮和提交按钮的数据,但不能获取与 Select2 绑定的用户框元素。

应该怎么做才能获取表单中选择的数据以在PHP中进行处理?

<form name='adminForm' method="post">
       <input type="radio" name="type" value="all"> 1 <br/>
       <input type="radio" name="type" value="from"> 2 <br/>
       <input type="radio" name="type" value="to"> 3 <br/>

       <div id="userbox"></div>

       <input type="submit" value="Submit" name="searchMessages">

</form>

下面是我使用的 jQuery 代码。

$("#userbox").select2({
    minimumInputLength: 1,
    formatResult: productFormatResult, // Not provided here
    formatSelection: productFormatSelection, // Not provided here
    ajax: { 
        url: "/url/path",
        data: function (term, page) {
            return {
                q: term,
            };
        },
        results: function (data, page) {
            return {results: data};
        }
    },
    escapeMarkup: function (m) { return m; }
});

【问题讨论】:

    标签: jquery jquery-select2


    【解决方案1】:

    重点是,

    当一个表单被提交时,它会发送所有的输入标签,并且只发送那些有名字的标签

    属性。这就像一个键值映射,输入名称作为键,它们的值作为值。

    我发现当我选择任何项目时,没有输入控件来保存选择的值,

    这样您就可以准备一个隐藏字段来保存选定的值,然后您将

    从后端代码中获取值

    【讨论】:

    • 在上面的代码中添加一个 name 属性有帮助。谢谢。
    【解决方案2】:

    只需将&lt;div id="userbox"&gt;&lt;/div&gt; 替换为&lt;input id="userbox" name="user box"/&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-28
      • 1970-01-01
      • 2021-08-09
      • 2014-04-05
      相关资源
      最近更新 更多