PitPik / colorPicker

Advanced javaScript color picker and color conversion / calculation (rgb, hsv, hsl, hex, cmyk, cmy, XYZ, Lab, alpha, WCAG 2.0, ...)
http://www.dematte.at/colorPicker/
MIT License
570 stars 136 forks source link

How to set color?I use html input #25

Closed akira32 closed 8 years ago

akira32 commented 9 years ago

I use html input

input class="color no-alpha" value="#B6BD79" id="color1"/

$('#color1').val("#FF0000"); use the code can change the color code, but the background color do not change

Could someone know how to set color for html input with color-class?

ob7 commented 7 years ago

Would like to know as well.

PitPik commented 7 years ago

Hi @akira32 and @ob7 , I actually closed this ticket as it has nothing to do with the color picker. This is a javaScript task:

$('#color1').val('#FF0000').css('background-color', '#FF0000');

If you have an active input field though, you can programmatically change the current color by using the following:

// colors[0] is the first set of instance when using var colors = jsColorPicker('input.color', {...
// you can also get it later like: var colors = jsColorPicker.colorPickers;
colors[0].setColor('226', 'rgb');
// the true in startRender means: render only once
colors[0].startRender(true);

So, to try this out, open a color picker in an input field (you then can also close it again, just make it active once) and put the 2 lines of code in the console of your browser. This will set the input fields value, background color and if needed the color of the text.

Hope this helped...

ob7 commented 7 years ago

I'm trying to achieve this on the tiny version. When I set the color input value via javascript, it updates the value of the field itself, but the colors present in the color picker panel do not update. This has to do with adding gradient support. When the user clicks a gradient marker, I need to update the color in the panel, including where the xy-cursor should be for that color...

ob7 commented 7 years ago

I'm trying to call the renderCallback from outside the picker.

ob7 commented 7 years ago

I think $(selector).trigger("change") after setting the value may suffice.