2012-11-13 16 views
2

我使用jPicker,因爲我需要一個支持「無顏色」或「透明」的顏色選擇器。如果你有一個更好的選擇器插件,請讓我知道。我需要通過jquery自動觸發顏色選擇上的阿賈克斯

無論如何,問題是,只要有人選擇了一種顏色,我需要關閉jPicker窗口並用該顏色值觸發ajax調用。

我想:

$('#fColor').jPicker({window:{expandable:true,liveUpdate:false}}); 
$('#fColor').change(function(){ 
    $(".jPicker.Container").slideUp(200); 
    buildImg(); 
}); 

但jPicker關不上的顏色選擇和更新似乎即使我設置LiveUpdate以假奏效。並且ajax函數也不會被觸發。有任何想法嗎?

+0

也許你可以使用'commit'回調。 –

回答

0

您可以使用以下代碼來偵聽jpicker更改事件並獲取它的值。該示例在jpicker頁面中給出。

$('#Callbacks').jPicker(
    {}, 
    function(color, context) 
    { 
     var all = color.val('all'); 
     buildImg(all && '#' + all.hex || 'transparent'); //ajax call here 
     $('#fColor').jPicker().hide(); // hide jpicker 
    } 
); 

並使用jquery manual page定義您的ajax通話詳細信息。這裏是一個示例:

function buildImg(_color) { 
    $.post("test.php", { color: _color}); 
}