我在我的代码中使用jQuery color picker plugin,但它似乎不与KnockoutJS一起工作,因为它不更新我的观察值,当我试图输出值。jQuery颜色选择器编辑不在Knockout可观察到
我有一个输入框,在这里我应该能够选择一种颜色:
<input class="colorpicker" id="bgcolor-one" name="bgcolor-one" type="text" data-bind="value: backgroundColor">
<br />
<span data-bind="text:backgroundColor">OUTPUT VALUE HERE</span>
在我的ViewModel我有:
self.backgroundColor = ko.observable("333333");
然而,使用颜色拾取时,有不更新
<span data-bind="text:backgroundColor">OUTPUT VALUE HERE</span>
当ColorPicker的代码:
$('.colorpicker').colpick({
colorScheme: 'dark',
layout: 'hex',
color: 'ff8800',
onChange:function(hsb,hex,rgb,el,bySetColor) {
$(el).css('border-color','#'+hex);
// Fill the text box just if the color was set using the picker, and not the colpickSetColor function.
if (!bySetColor) $(el).val(hex);
},
onSubmit: function (hsb, hex, rgb, el) {
$(el).css('background-color', '#' + hex);
$(el).val(hex);
$(el).colpickHide();
}
})
你不应该改变模型上的值(例如somescope.backgroundColor(hexValue);)而不是直接操纵元素的CSS样式? –
模型的值应该更新为:$(el).val(hex); – nuffsaid