select2 통합 knockoutjs
2264 단어 knockout
ko.bindingHandlers.select2 = {
init: function(element, valueAccessor, allBindingsAccessor) {
var options = ko.toJS(valueAccessor()) || {};
var allBindings = allBindingsAccessor();
var lookupKey = allBindings.lookupKey;
setTimeout(function() {
$(element).select2(options);
}, 0);
if (lookupKey) {
var value = ko.utils.unwrapObservable(allBindings.value);
$(element).select2('data', ko.utils.arrayFirst(options.data.results, function(item) {
return item[lookupKey] === value;
}));
}
ko.utils.domNodeDisposal.addDisposeCallback(element, function() {
$(element).select2('destroy');
});
},
update: function(element) {
$(element).trigger('change');
}
};
2. page html tag, Ex:
<select id="form_input1_orientation"></select>
3. data binding :
$("#form_input1_orientation").attr("data-bind",
"options: orientationCategories, optionsValue: 'Id', optionsText: 'Name', selectedOptions: install().orientation_1, select2: {}");
4. view modal:
var orientationCategoriesData = [
{Id: "north", Name: " "},
{Id: "northeast", Name: " "},
{Id: "northwest", Name: " "},
{Id: "east", Name: " "},
{Id: "southeast", Name: " "},
{Id: "south", Name: " "},
{Id: "southwest", Name: " "},
{Id: "west", Name: " "}
]
self.orientationCategories = ko.observableArray(orientationCategoriesData);
self.orientation_1 = ko.observable(["east"]);
enjoy.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
knockout computed 실례텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.