我正在使用select2 multiple for search框。我使用JSON传递这些数据,并使用ajax(JSON stringify)保存它。
我只需要传递2个变量,它们是ID(主键,自定义的)和选择本身。
当只选择了一个值时,我设法将其保存到数据库中。
当选择多个值时,在我的console.log中,我看到如下所示
{21,23,25,26}
这就是选择本身。
我怎么才能让它像这样展示,
Object0->{id:1, selection:21}
Object1->{id:2, selection:23}
Object2->{id:3, selection:25}
Object3->{id:4, selection:26}
下面是我使用的代码,
var nature = {
ubtBusinessInfo: businessId, // the primary key
ubtBusinessListing: nature.val() // here is selection
};
这是select2的初始化,
nature
.select2({
allowClear: true,
placeholder: "Filter as you type",
minimumInputLength: 3,
multiple: true,
ajax: {
url: 'home/umkei/info/nature',
dataType: 'json',
quietMillis: 250,
data: function (term, page) {
return { q: term };
},
results: function (data, page) {
return { results: data };
},
cache: true
}
})
性质的定义来自(我尝试了两种方法,如下所示)
var nature = $('[name=nature_business]') OR var nature = $(#nature_business);
我知道这一定与nature.val()的用法有关。必须是类似数组的类型,但我不知道如何区分/拆分这些数据,使其成为键->值对。
谢谢。
发布于 2016-04-09 10:08:29
我上周得到了这个,我想我应该分享我的解决方案。
var nature=[];
var splitnature = nature_business.val().trim().split(',');
var n;
for(n=0; n<=splitnature.length-1;n++){
nature.push({
ubtBusinessListing: splitnature[n],
ubtBusinessInfo: businessId
});
}
https://stackoverflow.com/questions/36386221
复制相似问题