JQuery miniColors:如何让网页中的多个miniColor正常工作?

时间:2011-10-27 08:15:18

标签: jquery

如何让网页中的多个miniColor正常工作?如果我更改了一个值,则所有值都会更改?是否需要更改类名? http://abeautifulsite.net/blog/2011/02/jquery-minicolors-a-color-selector-for-input-controls/

2 个答案:

答案 0 :(得分:3)

通过输入的id选择正确的选择器。这是一个简单的例子: `              jQuery miniColors v0.1

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
    <script type="text/javascript" src="jquery.miniColors.js"></script>
    <link type="text/css" rel="stylesheet" href="jquery.miniColors.css" />
    <script type="text/javascript">

        $(document).ready( 
            function() {
                //
                // Enabling miniColors
                //

                //$(".color-picker").miniColors('methodName', [value]);

                $("#color1").miniColors({

                    change: function(hex, rgb) {
                        $("#color1Value").prepend('HEX: ' + hex + ' (RGB: ' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ')<br />');
                    }

                });

                $("#color2").miniColors({

                    change: function(hex, rgb) {
                        $("#color2Value").prepend('HEX: ' + hex + ' (RGB: ' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ')<br />');
                    }

                });

                $("#color3").miniColors({

                    change: function(hex, rgb) {
                        $("#color3Value").prepend('HEX: ' + hex + ' (RGB: ' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ')<br />');
                    }

                });

                $("#color4").miniColors({

                    change: function(hex, rgb) {
                        $("#color4Value").prepend('HEX: ' + hex + ' (RGB: ' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ')<br />');
                    }

                });

                $("#color5").miniColors({

                    change: function(hex, rgb) {
                        $("#color5Value").prepend('HEX: ' + hex + ' (RGB: ' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ')<br />');
                    }

                });
            });

    </script>
</head>

<body>
    <h1>jQuery miniColors v0.1</h1>

    <p> color1 <input type="hidden" id="color1" class="colors" /></p>
    <p> color2 <input type="hidden" id="color2" class="colors" /></p>
    <p> color3 <input type="hidden" id="color3" class="colors" /></p>
    <p> color4 <input type="hidden" id="color4" class="colors" /></p>
    <p> color5 <input type="hidden" id="color5" class="colors" /></p>

    <p>
        Color1 value <br />
        <div><label id="color1Value"></label></div>
    </p>

    <p>
        Color2 value <br />
        <div><label id="color2Value"></label></div>
    </p>

    <p>
        Color3 value [content] <br />
        <div><label id="color3Value"></label></div>
    </p>

    <p>
        Color4 value <br />
        <div><label id="color4Value"></label></div>
    </p>

    <p>
        Color5 value <br />
        <div><label id="color5Value"></label></div>
    </p>
</body>

`

答案 1 :(得分:0)

我发现使用form或id名称复制函数有助于删除close:和open:functions。

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

    //
    // Enabling miniColors
    //

    $("input[name=color1]").miniColors({
        letterCase: 'uppercase',
        change: function(hex, rgb) {
            logData('change', hex, rgb);
        }
    });

    $("input[name=color2]").miniColors({
        letterCase: 'uppercase',
        change: function(hex, rgb) {
            logData('change', hex, rgb);
        }
    });

    $("input[name=color3]").miniColors({
        letterCase: 'uppercase',
        change: function(hex, rgb) {
            logData('change', hex, rgb);
        },
        close: function(hex, rgb) {
            logData('close', hex, rgb);
        }
    });

    $("input[name=color4]").miniColors({
        letterCase: 'uppercase',
        change: function(hex, rgb) {
            logData('change', hex, rgb);
        },
        close: function(hex, rgb) {
            logData('close', hex, rgb);
        }
    });
});
</script>

我的HTML代码示例;

<form method="post" action="#theme" name="color1Form">
    <input type="text" name="color1" value="FFFFFF" size="6" autocomplete="on" maxlength="10" />
    <input type="submit" value="Save" />
</form>