Luqman
Luqman

Reputation: 249

Select2 Multiple format to be passed to JSON

I am using the select2 multiple for search box. I am passing these data with JSON and saving it using ajax(JSON stringify).

I just need 2 variables passed, which is the ID(primary key, customized) and the Selection itself.

I managed to save it to the database when only 1 value is selected.

When selecting multiple values, in my console.log, I see something like this

{21,23,25,26}

which is the selection itself.

How do I get it show like this,

Object0->{id:1, selection:21}
Object1->{id:2, selection:23}
Object2->{id:3, selection:25}
Object3->{id:4, selection:26}

Below is the code I am using,

var nature = {
   ubtBusinessInfo: businessId, // the primary key
   ubtBusinessListing: nature.val() // here is selection
};

Here is the initialization of the 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
        }
    })

nature is defined from(I tried both as below)

var nature = $('[name=nature_business]') OR var nature = $(#nature_business);

I know it must have something to do with the nature.val() usage. Must have been something like array but I dont know how to differentiate/split those data to be key->value pairs.

Thank you.

Upvotes: 1

Views: 408

Answers (1)

Luqman
Luqman

Reputation: 249

I got this about last week and thought I'd share my solution.

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
    });
}

Upvotes: 1

Related Questions