Yii颜色选择器更改事件问题

时间:2013-08-19 08:01:18

标签: javascript yii color-picker

我正在使用minicolors color picker for Yii,我想一如既往地在颜色选择器输入上附加更改事件:

$('#color_picker').change(function(e) { console.log('It works!') });

但它不起作用,然后我尝试了:

$('#color_picker').miniColors({change: function(hex, rgb) { console.log('It works!') }});

这也不起作用。考虑到文档,我应该在创作时附上这个事件,但为什么呢?如果我需要在创建后附加它,可以这样做吗?

1 个答案:

答案 0 :(得分:0)

您提供的{错过了左右括号} options,以下是official document

中描述的内容
$(selector).minicolors({
    change: function(hex, opacity) {
        console.log(hex + ' - ' + opacity);
    }
});

编辑(1):

<input id="general_bgColor" type="text">
<script>
    $(function(){
        $('#general_bgColor').miniColors({ change: function(hex, rgb) { console.log('it worked!'); //console.log(hex + ' - ' + rgb); } });
    })
</script>

已编辑(2):以下是您应使用Yii扩展程序添加的内容

$this->widget('ext.widgets.SMiniColors.SColorPicker', array(
    'id' => 'myInputId',
    'defaultValue'=>'#000000',
    'hidden'=>false, // defaults to false - can be set to hide the textarea with the hex
    'options' => array(
        'change' => 'js:function(hex, rgb) { console.log(hex + " - " + rgb); }'
    ), // jQuery plugin options
    'htmlOptions' => array(

    ), // html attributes
));

注意我的行选项'change'。 我认为你的函数字符串上的单引号无意中使得数组无效。它使选项键'change'始终具有值'0'