2016-11-05 1 views
0

ich versuche, einen Select-Eingang zu erstellen, für meine Formen und ich Selectize.js,Wie Standardoptionen fro selectize zu setzen, wenn Optionen vom Server laden

Das ist gut, aber ich habe ein kleines Problem mit, dass .

Ich habe meine Optionen geladen, vom Server, um die Daten hinzuzufügen, und es ist okay.

Wenn ich versuche, meinen Dateneditor zu erstellen, muss ich die letzten Daten in Formulareingaben laden.

Im Auswahlfeld habe ich die Optionen geladen, und ich möchte einige von ihnen als standardmäßig ausgewählt festlegen.

Ich schrieb diesen Code:

var $select = $(this).selectize({ 
create: false, 
valueField: 'id', 
labelField: 'title', 
searchField: ['title'], 
plugins: ['remove_button'], 
preload: true, 
render: { 
    item: function (item, escape) { 
    return '<div>' + 
     (item.title ? '<span class="title">' + escape(item.title) + '</span>' : '') + 
     '</div>'; 
    }, 
    options: function (item, escape) { 
     return '<div>' + 
      (item.id ? '<span class="title">' + escape(item.id) + '</span>' : '') + 
      '</div>'; 
    }, 
}, 
onDelete: function (values) { 
    return confirm(values.length > 1 ? 'آیا شما میخواهید ' + values.length + ' مورد را حذف کنید؟' : 'آیا شما از حذف این مورد اطمینان دارید؟'); 
}, 
load:function(query, callback){ 
    $.getJSON(url,{mdl:mdl,action:action,id:id}, function(res) { 
      callback((res.select)) 
    }); 
} 

});

Und habe ich versucht, diesen Code Standard festlegen:

var selectize = $select[0].selectize; 
selectize.setValue("1"); 

Es funktioniert nicht ... Ich habe versucht, diesen Code:

var selectize = $select[0].selectize; 
var opt = {id:1,title:"عمومی"} 
selectize.addOption(opt); 
selectize.setValue("1"); 

Es funktioniert, aber bei dieser Lösung muss ich Fügen Sie die ausgewählte Option ZWEIMAL erstens vom Server und zweitens in JavaScript hinzu.

Bitte helfen Sie mir. Danke allen.

Antwort

0

fand ich eine Lösung:

den Code wie diese gelöst alles ändern:

var $select = $(this).selectize({ 
      create: false, 
      valueField: 'value', 
      labelField: 'title', 
      searchField: ['title'], 
      maxItems: 3, 
      plugins: ['remove_button'], 
      preload: true, 
      render: { 
       item: function (item, escape) { 
        return '<div>' + 
        (item.title ? '<span class="title">' + escape(item.title) + '</span>' : '') + 
        '</div>'; 
       }, 
       options: function (item, escape) { 
        return '<div>' + 
        (item.id ? '<span class="title">' + escape(item.id) + '</span>' : '') + 
        '</div>'; 
       }, 
      }, 
      onDelete: function (values) { 
       return confirm(values.length > 1 ? 'آیا شما میخواهید ' + values.length + ' مورد را حذف کنید؟' : 'آیا شما از حذف این مورد اطمینان دارید؟'); 
      }, 
     }); 
     var selectize = $select[0].selectize; 
     $.getJSON(url,{mdl:mdl,action:action,id:id}, function(res) { 
      selectize.addOption(res.select); 
      selectize.addItem(res.select); 
      var value = [1,2,3,4]; 
      selectize.setValue(value); 

     }); 
Verwandte Themen