我使用wpColorPicker和淘汰賽。我試圖讓顏色選擇器的值在我的可觀察值中更新,然後以JSON的形式存儲在數據庫中。我還有其他元素可以更新並完美保存,因此它確實與我的數據選取器的自定義綁定相關聯。保存wpColorPicker值與敲除自定義綁定
我看了看,並試圖this thread,但我無法弄清楚我做錯了什麼。
這是在我的PHP文件中的腳本的一部分:
<div class="caption">
<div class="label">
<b><?php _e('Caption', 'lavilla'); ?></b><br/>
<textarea class="slide-caption" data-bind="value: slideCaption"></textarea>
<br/>
<p class="text-color"><span class="label"><?php _e(' Text color', 'lavilla'); ?></span><input data-bind="wpColorPicker: textColor" /></p>
</div>
</div>
而且這是我跟我的JS其中:
function Slide(textColor) {
var self = this;
this.textColor = ko.observable(textColor);
ko.bindingHandlers.wpColorPicker = {
init: function(element, valueAccessor, allBindingsAccessor) {
// set default value
var value = ko.utils.unwrapObservable(valueAccessor());
$(element).val(value);
//initialize datepicker with some optional options
var options = allBindingsAccessor().wpColorPickerOptions || {};
$(element).wpColorPicker(options);
//handle the field changing
ko.utils.registerEventHandler(element, "change", function() {
var observable = valueAccessor();
observable($(element).val());
});
//handle disposal (if KO removes by the template binding)
ko.utils.domNodeDisposal.addDisposeCallback(element, function() {
$(element).wpColorPicker("destroy");
});
},
update: function(element, valueAccessor, allBindingsAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor());
$(element).val(value);
$(element).change();
}
};
};
究竟發生了什麼,錯誤情況是什麼? – lessthanideal