JQuery颜色选择器更改十六进制值

时间:2012-04-22 23:33:02

标签: jquery hex color-picker

我正在使用此颜色选择器http://www.eyecon.ro/colorpicker并尝试捕获十六进制值,以便我可以在服务器端使用它来存储所选颜色。

更改默认颜色后,我无法获得所选颜色。

这是我的代码:

 var currentHex = '#0000ff';
            alert(currentHex);
            $('#colorSelector').ColorPicker({
                color: currentHex,
                onShow: function (colpkr) {
                    $(colpkr).fadeIn(500);
                    return false;
                },
                onHide: function (colpkr) {
                    $(colpkr).fadeOut(500);
                    return false;
                },
                onChange: function (hsb, hex, rgb) {
                    // every time a new colour is selected, this function is called
                    currentHex = hex;
                    $('#mycolor').val = currentHex;
                }
            });

HTML:

<div id="colorSelector"><div style="background-color: rgb(62, 62, 189); "></div></div>
<input type="text" maxlength="6" size="6" id="mycolor" value="00ff00">

这是 Demo

3 个答案:

答案 0 :(得分:5)

$('#mycolor').val = currentHex; //wrong syntax

应该是

$('#mycolor').val(currentHex);

Updated Demo

答案 1 :(得分:1)

$(document).ready(function() {
    var currentHex = '#0000ff';
    $('#colorSelector').ColorPicker({
        color: currentHex,
        onShow: function(colpkr) {
            $(colpkr).fadeIn(500);
            return false;
        },
        onHide: function(colpkr) {
            $(colpkr).fadeOut(500);
            return false;
        },
        onChange: function(hsb, hex, rgb) {
            $('#colorSelector div').css('backgroundColor', '#' + hex);
            alert(hex);
            $('#mycolor').val(currentHex);
        }
    });

});​

答案 2 :(得分:1)

这就是你想要的吗?

JSFiddle