Javascript 如何在jquery颜色选择器中设置数字十六进制颜色?

Javascript 如何在jquery颜色选择器中设置数字十六进制颜色?,javascript,jquery,color-picker,Javascript,Jquery,Color Picker,我在php页面中使用了JQuery colorpicker,但当我在javascript中设置颜色时,它就不起作用了 以下是我的html代码: <div class="group_col grp_col_3"> <div class="list_field"> <label>Link Hover</label> <div class="color_field"> <s

我在php页面中使用了JQuery colorpicker,但当我在javascript中设置颜色时,它就不起作用了

以下是我的html代码:

<div class="group_col grp_col_3">
    <div class="list_field">
        <label>Link Hover</label>
         <div class="color_field">
           <span class="colpr" style="background:#647993;"></span>
             <input name="style_link_hover_color" id="style_link_hover_color" type="text" data-value="647993" class="form-control&#x20;field&#x20;color-box&#x20;adv-settings" value="647993">    
</div>
</div>
</div>

如何在javascript中设置这种颜色?

我认为您使用的代码不正确,试图在颜色选择器的输入字段中设置值。您应该这样做:

在需要的任何位置添加颜色选择器(如果尚未添加):

然后在您需要时以及在使用以下命令初始化后更改它:

var hex = '647993';
$('#picker').colpickSetColor(hex, false);
如果您还想更改输入字段,我认为您需要将第二个参数设置为true。请注意,要更改的选择器与用于初始化的选择器相同,并且应该是一个ID以避免出现问题

var hex = '647993';
$('#picker').colpickSetColor(hex, true);

当然,您需要在html代码中加载脚本和CSS。

以下是我用来解决上述问题的代码

$(input).each(function (e) {
 var hex = 647993;
 if(!isNaN(hex)){
    hex = hex.toString();
}
$(this).val(hex);
$(this).colpickSetColor(hex);
});

这是因为jquery颜色选择器不能处理像647993这样的整数值。

您使用的是哪种颜色选择器?使用
$(This.css('background-color','#'+hex)如何否;然后,它使整个输入字段变为灰色,但我只希望span color变为灰色。您可以看到上面链接的“使用onChange回调的十六进制文本字段”示例
$('#picker').colpick();
var hex = '647993';
$('#picker').colpickSetColor(hex, false);
var hex = '647993';
$('#picker').colpickSetColor(hex, true);
$(input).each(function (e) {
 var hex = 647993;
 if(!isNaN(hex)){
    hex = hex.toString();
}
$(this).val(hex);
$(this).colpickSetColor(hex);
});