2012-04-03 5 views
1

私のプロジェクトでは、次のjqueryカラーピッカーを使用しています:www.eyecon.ro/colorpicker私は同じページで複数のカラーピッカーを使用しています。クラス上でスクリプトを呼び出しています(カラーピッカーが適用され、いずれも関連していない7つの入力があります)。私が持っている問題は、カラーピッカーとトリガーの間には関係がないため、トリガーにアクセスできないということです。
誰でもこれを行う方法を知っていますか?基本的に私は$(これは)親である必要がありカラーピッカーのトリガーへのアクセス

(...)onChange: function (hsb, hex, rgb) { 
    $(this).css('backgroundColor', '#' + hex); 
} 

この機能を使用しようとしているが、明らかにそうではありません。

答えて

4

あなたはコンテキストに関数をバインドする必要があり、 はとても関数を呼び出す前に、

var that = this // or whatever this(the context) is 

は、代わりにこのコールバックにそれを呼び出すことを宣言します。

...)onChange: function (hsb, hex, rgb) { 
    $(that).css('backgroundColor', '#' + hex); 
} 

編集:ここには私が書いたjavascriptコードがあります。動作していないようです

$(document).ready(function() { 
    $('.colorpickerHolder').each(function(o) { 
     var _this = this; 
     $(this).ColorPicker({ 
      onChange: function(hsb, hex, rgb) { 

       _this.style.background = '#' + hex; 
       // the input which is trigger the colorpicker is supposed to be $(THIS); 
      } 
     }) 
    }) 
});​ 

http://jsfiddle.net/camus/PQDf8/4/

+0

。ここでは([link](http://www.eyecon.ro/colorpicker/#about))いくつかの例ですが、最後のものを使用しようとしていますが、この例ではトリガーはIDですページで)、クラスではありません。 – Seb

+0

あなたのコードが正確にわからない場合、私はあなたに正確に答えません。 – mpm

+0

私のコードの[ここに例がある](http://jsfiddle.net/r6vh8/)。それはかなり多くの本質です:) – Seb

関連する問題