2

大家好,我正在使用这个颜色选择器(http://www.eyecon.ro/colorpicker)并试图捕获十六进制值,以便我可以在服务器端使用它来存储选定的颜色。如果您查看提供的链接,我使用的是最后一个选项:

 $('#colorSelector').ColorPicker({
 color: '#0000ff',
 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);
 }
});

我的问题是我似乎无法从中获取十六进制值...我尝试简单地调用输入的名称来获取它的值,但它不起作用(当你点击离开以制作颜色选择器时消失,输入更改为 'style="display:none;"' 所以我无法从中得到任何东西。然后,我尝试使用一些简单的 jQuery 调用来提取值,但什么也没得到......

请帮忙....

4

2 回答 2

3

首先欢迎来到 Stack Overflow!

onChange 事件应该会给你答案。

// initial colour value
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) {
        // every time a new colour is selected, this function is called
        alert(hex); // left for debugging
        currentHex = hex;
    }
});

// The currentHex value should easily be accessible as a vaiable
于 2010-05-06T02:11:19.677 回答
0

查看来源作者使用它来获取它:

var div = $('#colorSelector'); // DOM element it is attaced to
var color = $('#' + $(div).data('colorpickerId')).data('colorpicker').color // get id of colorpicker, the object it stored in data and get color
于 2010-05-06T02:28:28.103 回答