JavaScript関数の動的呼び出しについて質問があります。これが私の問題です:
カラーピッカーを含むelement(div)があるとしましょう。この要素を動的に使用/複製したい(ユーザーが望む回数)。このカラーピッカーの呼び出しは次のようになります:コードはここで表示できます: http://jsfiddle.net/CJhqc/1/ (ここでテストするためではなく、ここで混乱するため、フィドルに入れました)
ここで、idはたとえば。と呼ばれる変数ですmy_color
。[]
このカラーピッカーアイテムをもっと呼び出すことができるように、入力に追加しました。これは大丈夫です。この要素を5つ持つことができ、この各入力を読み取ることができます。問題はカラーピッカーの呼び出しにあります。colopickerには、次のid="color_picker"
呼び出しがあります。
jQuery(document).ready(function(){
jQuery('#color_picker').children('div').css('backgroundColor', '<?php echo $value; ?>');
jQuery('#color_picker').ColorPicker({
color: '<?php echo $value; ?>',
onShow: function (colpkr) {
jQuery(colpkr).fadeIn(500);
return false;
},
onHide: function (colpkr) {
jQuery(colpkr).fadeOut(500);
return false;
},
onChange: function (hsb, hex, rgb) {
jQuery('#color_picker').children('div').css('backgroundColor', '#'+ hex);
jQuery('#color_picker').next('input').attr('value','#'+ hex);
}
});
});
問題:このアイテムが3つある場合、それらのJavaScriptは常に同じです。カラーピッカーの横の入力は「配列」-><?php echo $id; ?>[]
ですが、このアイテムごとにカラーピッカーのJavaScriptを設定するにはどうすればよいですか。そして、与えることはできませんcolor_picker id -> color_picker[]
。たとえば、2番目のアイテムの色を変更したい場合は、2番目のアイテムではなく、最初のアイテムの色が変更されます。それぞれが独自のJavaScriptを必要としていると思いますが、どのように呼び出すのですか?
前もって感謝します!!!