2012-07-19 55 views
0

這是一個菜鳥問題。如何將參數傳遞給jQuery小部件?

假設我有一個jQuery對話框,單擊按鈕打開。該對話框實現爲jQuery部件:

 
(function ($) { 

    $.widget("myApp.myDialog", { 

    _create: fnction() {...} // create a dialog 

    _init: fnction() {...} // open a dialog  
    }) 

}(jQuery)); 

我打開按鈕,點擊該對話框如下:

 
$('#myButton').bind('click', function() { $(this).myDialog(); }); 

到目前爲止,一切都很好。我希望這是有道理的。

現在我想禁用,當對話框打開,使它在關閉對話框按鈕。我如何將按鈕傳遞給對話框小部件?

回答

1

既然您正在尋找一個dialog您可能想傳入$.ui.dialog作爲第二個參數$.widget因此您繼承了對話框的功能。

當您創建myDialog的實例時,您可以啓用/禁用該按鈕。

(function($) { 
    $.widget('myApp.myDialog', $.ui.dialog, { 
         
    }); 
     
    $('.dialog').myDialog({ 
        open: function() { 
            $('#myButton').prop('disabled', true); 
        }, 
        close: function() { 
            $('#myButton').prop('disabled', false); 
        }             
    }); 
}(jQuery)); 

- http://jsfiddle.net/tj_vantoll/v4sYX/