2016-04-03 32 views
1

私は検索ボックスにselect2を使用しています。私はJSONでこれらのデータを渡して、それをajax(JSON stringify)を使って保存しています。Select2 JSONに渡す複数のフォーマット

ID(プライマリキー、カスタマイズされた)とSelection自体が渡される2つの変数が必要です。

1つの値しか選択されていない場合、データベースに保存することができました。

複数の値を選択するとき、私にconsole.logで、私は選択そのものであるこの

{21,23,25,26} 

のようなものを参照してください。ここで

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

はSELECT2の初期設定で以下
Object0->{id:1, selection:21} 
Object1->{id:2, selection:23} 
Object2->{id:3, selection:25} 
Object3->{id:4, selection:26} 

は、私が使用しているコードで、私はそれがこのように表示され得るかどう

、、、

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()の使用方法と関係があることがわかっています。配列のようなものだったはずですが、それらのデータを区別して分割する方法はわかりません。

ありがとうございます。

答えて

1

私は先週についてこれを得て、私の解決策を分かち合うと思っていました。

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 
    }); 
} 
関連する問題