jPicker 设置颜色

Posted

技术标签:

【中文标题】jPicker 设置颜色【英文标题】:jPicker set color 【发布时间】:2013-08-27 08:52:00 【问题描述】:

我正在使用 jPicker 插件从选择器中获取颜色。 我以这种方式创建元素:

           $(function()
                $('#txtBackgroundColor').jPicker(
                
                    color:
                    
                        mode: 'h', // acceptable values "h" (hue), "s" (saturation), "v" (brightness), "r" (red), "g" (green), "b" (blue), "a" (alpha)
                        active: new $.jPicker.Color( hex: 'eaeaea' ), // accepts any declared jPicker.Color object or hex string WITH OR WITHOUT '#'
                    ,
                    window:
                    
                        position:
                        
                            x: 'screenCenter', // acceptable values "left", "center", "right", "screenCenter", or relative px value
                            y: '200px', // acceptable values "top", "bottom", "center", or relative px value
                        ,
                        expandable: true
                    ,
                ,

            );

当我单击一个按钮时,我想设置该 jpicker 的活动颜色。我在文档中看到了这一行:

$('#update').click(function()
    $.jPicker.List[0].color.active.val('hex', 'e2ddcf', this); 
);

但问题是我有多个jPicker,例如我不知道List的索引,有没有办法通过id而不是索引List来设置jPicker颜色?

谢谢

【问题讨论】:

【参考方案1】:

设置值

var control= $('#txtBackgroundColor')
var colorPicked = '#e2ddcf';
control.jPicker(
   color:  active: colorPicked
);
control[0].color.active.val('hex', colorPicked);
control.val(colorPicked.replace("#", ""));

根据您的情况,上面的某些行可能无关紧要。

查找 ID 如果:

$('#txtBackgroundColor')

这样查找带有 jPicker 类的 span 是不正确的

<span class="jPicker">

在此之上,应该有一个显示样式为 none 且 ID 值的输入。在上面的例子中使用那个。

【讨论】:

【参考方案2】:

你的语法不对。修好了。

您可以像这样使用 .each() 来定位每个元素:

$(function() 
$('#txtBackgroundColor').each(function() 
    $(this).jPicker(
        color: 
            mode: 'h', // acceptable values "h" (hue), "s" (saturation), "v" (brightness), "r" (red), "g" (green), "b" (blue), "a" (alpha)
            active: new $.jPicker.Color(
                hex: 'eaeaea'
            ), // accepts any declared jPicker.Color object or hex string WITH OR WITHOUT '#'
        ,
        window: 
            position: 
                x: 'screenCenter', // acceptable values "left", "center", "right", "screenCenter", or relative px value
                y: '200px', // acceptable values "top", "bottom", "center", or relative px value
            ,
            expandable: true
        ,
    )
);

);

【讨论】:

没有代码是正确的..你更新的代码是正确的工作正常,我可以有多个不同id的选择器..我想在初始化另一种颜色后设置 嗯,问题很清楚:在我用其他 ID 初始化其他 jPicker 后,我用一些值初始化 jPicker,如果我点击一个按钮,我想为特定的 jPicker 设置新颜色。 Jfiddle 不是必需的,我只想知道是否有可能通过 Id 找到 jPicker 并在按钮上设置其颜色

以上是关于jPicker 设置颜色的主要内容,如果未能解决你的问题,请参考以下文章

jpicker中的颜色更改事件处理

jPicker 在重置按钮上重置背景颜色以及如何一次打开单个 jPicker 对话框?

jPicker jQuery 颜色选择器插件

jPicker 实时更新字体颜色

无法在同一页面上显示多个 jPicker 颜色选择器

jpicker默认颜色中的第4和第5列颜色不要在我的输入框中输入值