2014-02-21 3 views
1

Я использую этот JQuery Colorpicker http://www.eyecon.ro/colorpicker/#aboutJQuery Colorpicker изменить значение на кнопку из

Есть ли способ, что я могу сделать это изменить значение (* код цвета) входа на клик из ColorPicker?

Теперь он отправляет выбранный цвет только нажатием кнопки отправки на Colorpicker.

<input type="text" value="#FFFFFF"> 

    <script type="text/javascript"> 
    $.noConflict(); 
    jQuery(document).ready(function ($) { 
     $('input').ColorPicker({ 
      onSubmit: function(hsb, hex, rgb, el) { 
       $(el).val('#' + hex); 
       $(el).ColorPickerHide(); 
      }, 
      onBeforeShow: function() { 
       $(this).ColorPickerSetColor(this.value); 
      } 
     }) 
     .bind('keyup', function(){ 
      $(this).ColorPickerSetColor(this.value); 
     }); 
    }); 

</script> 
+0

Можете ли вы уточнить, что вы хотите изменить? –

+0

Я хочу изменить цветовой код с ввода. Я уточню свой вопрос. – George

ответ

4

Не удается найти хороший способ, но вот некрасиво, хотя, надеюсь, не совсем плохой способ сделать это:

jQuery(document).ready(function ($) { 
    var $pickerInput; 
    $('input').ColorPicker({ 
     onSubmit: function(hsb, hex, rgb, el) { 
      $(el).val('#' + hex); 
      $(el).ColorPickerHide(); 
     }, 
     onBeforeShow: function() { 
      $(this).ColorPickerSetColor(this.value); 
      $pickerInput = $(this); 
     }, 
     onHide: function(picker) { 
      $pickerInput.val('#' + $(picker).find('.colorpicker_hex input').val()); 
     } 
    }) 
    .bind('keyup', function(){ 
     $(this).ColorPickerSetColor(this.value); 
    }); 
}); 
+0

Спасибо, но это не работает. Однако я не вижу ошибок в консоли. – George

+1

Странно. Какой браузер вы используете? Вот JSFiddle, который работает для меня. Сначала вам нужно посетить http://www.eyecon.ro/colorpicker/, чтобы кэшировать файлы плагинов. http://jsfiddle.net/9a5eR/ – stovroz

+0

Странно, что ваш пример работает очень красиво. Я тестирую в Chrome, твои работы, но у меня нет – George

1

Как о чем-то вроде этого? Вы можете получить доступ к шестнадцатеричной информации в событии onChange и присвоить ее некоторому скрытому элементу, в этом случае я добавил второй ввод. Затем, вHide, вы берете значение скрытого элемента и назначаете его текущему полю ввода.

HTML:

<input id="hexVal" type="text" value="#FFFFFF"> 
<input id="hidden" type="text" value="#FFFFFF"> 

JavaScript:

jQuery(document).ready(function ($) { 
    $('#hexVal').ColorPicker({ 
     onSubmit: function (hsb, hex, rgb, el) { 
      $(el).val('#' + hex); 
      $(el).ColorPickerHide(); 
     }, 
     onBeforeShow: function() { 
      $(this).ColorPickerSetColor(this.value); 
     }, 
     onChange: function (hsb, hex, rgb) { 
      $('#hidden').val('#' + hex); 
     }, 
     onHide: function (picker) { 
      $('#hexVal').val($('#hidden').val()); 
     } 
    }) 
     .bind('keyup', function() { 
     $(this).ColorPickerSetColor(this.value); 
    }); 
}); 

JSFiddle here.

+1

Thank. У меня много таких материалов, как это, поэтому на самом деле это не работает для меня. – George

+0

Ах, извините - не понял. Рад, что вы разобрались с другим ответом! –

Смежные вопросы