【问题标题】:jQuery plugin: ColorpickerjQuery插件:颜色选择器
【发布时间】:2011-02-16 04:55:21
【问题描述】:

大家好,我正在使用这个颜色选择器 (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 调用来提取值,但什么也没有......

请帮忙....

【问题讨论】:

  • 你能附上你的一些代码吗?你在那里放的是网站上的例子。如果没有看到您的代码,恐怕没有人能提供太多帮助。

标签: jquery colors plugins picker


【解决方案1】:

首先欢迎来到 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

【讨论】:

  • 感谢您的建议,本!稍后我会再看一遍,然后回帖让您知道它对我的效果。
  • 本,你救了我很多抱怨!感谢您的解决方案,就像一个魅力!
【解决方案2】:

查看来源作者用这个得到它:

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

【讨论】:

  • 谢谢马克,如果我无法解决上述解决方案,我会再研究一下,看看我是否能让我的代码正常工作。我会回帖让你知道结果如何。
猜你喜欢
  • 1970-01-01
  • 2012-09-14
  • 1970-01-01
  • 1970-01-01
  • 2012-01-23
  • 1970-01-01
  • 2011-02-26
  • 1970-01-01
  • 2012-11-10
相关资源
最近更新 更多