2010-11-10 3 views
8

У меня есть этот сценарий jquery, который мгновенно меняет цвет фона, введя код цвета в текстовое поле, рабочий пример находится в jsfiddle ссылке ниже.изменение цвета с помощью jquery с выбором цвета?

http://jsfiddle.net/7jg4e/

но вместо поля ввода я хотел использовать выбор цвета скин, потому что я не хочу пользователя иметь дело с шестнадцатеричным кодом (так же, как твиттер). JQuery плагин им пытаются использовать найден в

http://www.eyecon.ro/colorpicker/

на днище страницы он имеет аккуратную выбора цвета с DOM элемента.

поэтому проблема заключается в том, как я собираюсь перейти от типа ввода к div div. спасибо :))

+0

попробовать это: http://jsfiddle.net/SpmuV/ – TheVillageIdiot

ответ

7

Заменить элемент ввода с использованием DIV-то вроде: (непроверенные)

HTML

<div id='colourPicker'></div> 

JS

$('#colourPicker').ColorPicker({ 
    onChange: function(hsb, hex, rgb){ 
    $("#full").css("background-color", '#' + hex); 
    } 
}); 

Приведен пример в нижней части ссылки у вас есть, которая показывает вам, как.

Update для изменения текста

HTML

<div id='colourPickerText'></div> 
<div id='textToBeChanged'>Test text</div> 

JS

$('#colourPickerText').ColorPicker({ 
    onChange: function(hsb, hex, rgb){ 
    $("#textToBeChanged").css("color", '#' + hex); 
    } 
}); 
+0

спасибо за отличный ответ, но представьте себе, что я хотел также поменять цвет текста, как сделать выборщик div в html, который будет отличаться от двух наборов цветов + upvote от меня :)) – getaway

+0

Обновленный ответ, чтобы показать, как чтобы изменить цвет текста, у вас может быть 2 выбора цвета на форме, один для фона и один для текста. – Fermin

+0

Могу ли я задать вам еще один вопрос, извините, как получить значение (hex), когда цвет укушен, поэтому я могу сохранить его в базе данных !! im so confused – getaway

3

Как насчет:

$('#colorSelector').ColorPicker({ 
onChange: function(hsb, hex, rgb) 
      { 
      $("#full").css("background-color", hex); 
      } 
}); 
+0

насчет HTML стороны вещей – getaway

+0

Просто иметь ''

как ваше окно выбора цвета, а затем ваш '<ххх ID =" полным «>» будет меняться всякий раз, когда он будет использоваться. –

0

У меня такая же проблема, и ниже мое решение.

редактировать colorpicker.js линии 96

от

cal.data ('Colorpicker') onChange.apply. (Кал, [Col, HSBToHex (Col), HSBToRGB (COL)]);

к

cal.data ('Colorpicker'). OnChange.apply (кал, [Col, HSBToHex (Col), HSBToRGB (Col), cal.data ('Colorpicker') .el]);

на события изменения вместо OnChange: функции (HSB, шестигранный, КЗС) ...

в

OnChange: функция (HSB, шестигранный, РГБ, эл) {
$ (эл).val ('#' + hex);
}

12

Подобно тому, как дальнейшее использование ... HTML5 уже включает в себя "цвет" в качестве типа ввода.

<label for="bg">Choose color:</label> 
<input id="bg" type="color" /> 

Кроме того, вы можете применить некоторые CSS стиль с:

input[type="color"]{/*css-here*/} 

Теперь, главный вопрос ... вы можете захватить значение цвета, чтобы изменить BG-цвета с помощью простого скрипта. Живой пример: http://jsfiddle.net/7jg4e/152/

1

Благодарности keithics ..

У меня была аналогичная проблема. Мне пришлось вызывать colorpicker для динамических кнопок. Я сделал с классом вместо id.

Это очень помогло мне.

$('.colorSelector').ColorPicker({ 
onChange: function(hsb, hex, rgb,el) 
     { 
     $(el).val('#' + hex); 
     } 
}); 
Смежные вопросы