Запустить обновление плагина выбора цвета jQuery при изменении поля ввода - PullRequest
1 голос
/ 26 августа 2011

В настоящее время я использую метод jQuery .click () для обновления 15 текстовых полей с помощью простых шестнадцатеричных значений цвета, например, этого документа.

Я также использую ExColor для jQuery http://modcoder.org/ для отображения палитры убийц цветов http://modcoder.org/js/modcoder-1.1.js

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

Как я могу просто повторно активировать или обновить образцы при изменении полей? Что можно вызвать в приведенной ниже функции .click, чтобы обновить образцы до новой шестнадцатеричной строки, входного значения?

Вот JS:

<script type="text/javascript">

    $('document').ready(function() {

        // running ExColor
        $('#my_input_1').modcoder_excolor();
    $('#my_input_2').modcoder_excolor();
    $('#my_input_3').modcoder_excolor();
    $('#my_input_4').modcoder_excolor();
    $('#my_input_5').modcoder_excolor();
    $('#my_input_6').modcoder_excolor();
    $('#my_input_7').modcoder_excolor();
    $('#my_input_8').modcoder_excolor();
    $('#my_input_9').modcoder_excolor();
    $('#my_input_10').modcoder_excolor();
    $('#my_input_11').modcoder_excolor();
    $('#my_input_12').modcoder_excolor();
    $('#my_input_13').modcoder_excolor();
    $('#my_input_14').modcoder_excolor();
    $('#my_input_15').modcoder_excolor();    

        $('#theme01').click(function() {
            document.form1.top_menu_bgcolor.value = '#FFFFFF';
        document.form1.top_menu_bgcolor.focus();
        document.form1.top_menu_fontcolor.value = '#FFFFFF';
        document.form1.top_menu_bghovercolor.value = '#FFFFFF';
        document.form1.top_menu_fonthovercolor.value = '#FFFFFF';
        document.form1.left_menu_bgcolor.value = '#FFFFFF';
        document.form1.left_menu_fontcolor.value = '#FFFFFF';
        document.form1.left_menu_bghovercolor.value = '#FFFFFF';
        document.form1.left_menu_fonthovercolor.value = '#FFFFFF';
        document.form1.left_div_border.value = '#FFFFFF';
        document.form1.site_background_color.value = '#FFFFFF';
        document.form1.header_color.value = '#FFFFFF';
        document.form1.content_header_color.value = '#FFFFFF';
        document.form1.browser_bg_color.value = '#FFFFFF';
        document.form1.footer_color.value = '#FFFFFF';
        document.form1.footer_font_color.value = '#FFFFFF';

        });

</script>

И HTML

<a href="#" id="theme01">Theme 1</a>


<input type="text" ID="my_input_1" name="top_menu_bgcolor" maxlength="7" value="#000000" size="10" />

1 Ответ

1 голос
/ 26 августа 2011

Вы можете попробовать использовать что-то похожее на:

   <script type="application/javascript">
      $(document).ready(function(){

      $("#theme01").click(function(){
       $("#myinput1").val('#aaafFF');   
       $('#myinput1').click();
       setTimeout( function(){
            $('#c3').blur();
            $('#c3').click();
            $('#c3').blur();}, 
       50);
   return false;
      });

      });
 </script>

, где # c3 - это где-то другой div.

Это будет эффективно показывать и скрывать модкодер достаточно быстроне вижу его.

Редактировать : Полный ответ

        $("#theme01").click(function(){
            $("#myinput1").val('#aaaFFF');
            $('#myinput1').click();
            setTimeout( function(){$('#modcoder_ok').click();}, 50);
        });

        $("#theme02").click(function(){
            $("#myinput1").val('#222ccc');
            $('#myinput1').click();
            setTimeout( function(){$('#modcoder_ok').click();}, 50);
        });

А затем в HTML: Тема 1 Тема 2

Я использую две кнопки,delayed # modcode_ok.click () программно нажимает кнопку «ОК», чтобы выбрать и обновить цвет.На моем компьютере setTimeout на 50 мс слишком быстрый, и я не вижу всплывающее окно.Может быть, вам нужно приспособиться к вашим потребностям.

...