我在HTML表单中使用Select2 jQuery插件通过ajax调用获取远程数据。此功能正常。
但是提交表单时,Select2元素中的选定值在POST数据中不可用。
我可以获取有关单选按钮和提交按钮的数据,但不能获取与Select2绑定的userbox元素。
如何在表单中获取所选数据以便在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; }
});
答案 0 :(得分:6)
重点是,
每当提交表单时,它都会发送所有输入标记,只发送名称为
的标记属性。它类似于键值映射,输入名称为键,值为值。
我发现当我选择任何项目时,没有输入控件来保存所选值,
所以你可以准备一个隐藏的字段来保存所选的值,你将
从后端代码中获取值