[英]Select2 (input) value as object after select item
I have a select2 (jQuery plugin) on my code which works normally except for the case when I select an item. 我的代码上有一个select2(jQuery插件),除了我选择项目的情况外,它正常工作。
The value is wrong. 价值是错误的。
Form: 形成:
<form id="Teste" method="get" action="">
<input type="hidden" id="e6" name="e6" class="select2" style="width: 600px;" />
<input type="submit" value="Send" />
</form>
Input from select2 - hidden (required for remote data) - value: [Object] : select2的输入 - 隐藏(远程数据需要) - 值:[Object] :
<input type="hidden" id="e6" name="e6" class="select2 select2-offscreen" style="width: 600px;" tabindex="-1" title="" value="[object Object]">
Javascript used for instance select2: Javascript用于实例select2:
function formatRes(item) {
return item.Text;
}
function formatSel(item) {
return item.Value;
}
$("#e6").select2({
placeholder: "Select your supplier",
minimumInputLength: 0,
id: function(data){return {id: data.id};},
allowClear: true,
ajax: {
url: "http://localhost:1396/List/_GetDropDownListSupplier",
dataType: 'jsonp',
quietMillis: 300,
data: function (term, page) {
return {
searchString: term,
pageSize: 60,
pageIndex: page,
};
},
results: function (data, page) {
return {results: data.results, more: (page * 60) < data.total };
}
},
formatResult: formatRes,
formatSelection: formatSel,
dropdownCssClass: "bigdrop",
escapeMarkup: function (m) { return m; }
});
Json example returned by ajax to Select2: Json示例由ajax返回给Select2:
{"results":[{"Selected":false,"Text":"Cezar Barbara","Value":"724"},{"Selected":false,"Text":"Cezar Barbara","Value":"765"}],"total":82}
Solved: 解决了:
id: function(data){return data.Value;}
I was returning a object with id and not a directly value. 我正在返回一个id为id的对象而不是直接值。
Thanks to @mgibsonbr from Stackoverflow PT 感谢Stackoverflow PT的@mgibsonbr
You need to use a select
element, try this: 你需要使用一个select
元素,试试这个:
<form>
...
<select id="someSelect">
//options
</select>
<input type="hidden" name="fromSelect" id="fromSelect" value=""/>
</form>
You have two options here: 你有两个选择:
1.- Get the value direct from select: 1.-从select中直接获取值:
var selected = $('#someSelect').val();
2.- Assign the value to the hidden input and then get its value: 2.-将值分配给隐藏输入,然后获取其值:
$('#someSelect').on('change', function(){
$('#fromSelect').attr('value', this.value);
});
var selected = $('#fromSelect').val();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.