0

私はYii に minicolors カラー ピッカーを使用しており、いつものようにカラー ピッカー入力に変更イベントを追加したいと考えています。

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

しかし、うまくいかないので、次のことを試しました:

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

これもうまくいきません。ドキュメントを考えると、作成時にこのイベントを添付する必要がありますが、なぜですか? 作成後に添付する必要がある場合はどうすればよいですか?

4

1 に答える 1

0

{ }提供されたの左右の括弧がありません。公式ドキュメントoptionsに記載されている内容は次のとおりです

$(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'。関数文字列の一重引用符が誤って無効な配列になっていると思います。オプションキー「変更」の値は常に「0」になります

于 2013-08-19T08:30:19.830 に答える