2013-01-09 64 views
0

我正在使用jCrop,我需要一組長寬比。例如,如果有人輸入「2」到X文本框,輸入「2」到Y文本框,縱橫比應該是1.我計算寬高比,但它應該在舊值更改時更新

但是,如果我更改文本框的值(例如更改爲3和1),jCrop應獲取新的值。現在它只是初始化,並沒有回頭。

代碼如下。 (我試過很多更想不出來。)

-JQUERY- 
jQuery(function($){ 
    var numberX = $('#numberX').val(); 
    var numberY = $('#numberY').val(); 

    $('#jcrop_target').Jcrop({ 
     aspectRatio: ($(this).numberX/$(this).numberY), 
    ... rest of the codes 

-HTML- 
<input type="text" id="numberX" name="numberX" value=""/> 
<input type="text" id="numberY" name="numberY" value="" /> 

TLDR;當我更改numberX和numberY文本框的值時,它應該反映到jCrop。 jCrop只保留init值。當文本框上的值發生變化時,應重新計算寬高比。

任何幫助將不勝感激!

回答

1

將您的代碼變成function()。然後,使用jQuery你可以document.ready運行功能和變化(見http://api.jquery.com/change/

例如,

function changenumbers(){ 
    var numberX = $('#numberX').val(); 
    var numberY = $('#numberY').val(); 

    $('#jcrop_target').Jcrop({ 
     aspectRatio: ($(this).numberX/$(this).numberY), 
    /* ... rest of the code */ 
} 
$document.ready(function(){ 
    changenumbers(); 
    $("#numberX").change(function(){ changenumbers(); } 
    $("#numberY").change(function(){ changenumbers(); } 
}