2012-07-12 51 views
0

我在.dialog()函數內部製作Jcrop。運行良好,但我無法通過我的X和Y等值!.dialog中的Jcrop()

函數「updateCoords」的作品,但我不能通過它價值throe阿賈克斯!火蟲說,我想通過POST的變量沒有定義,但「如何!」 - 我在函數updateCoords()中定義變量! XD

function open_original(gallery_id, image_name){ 
    $("#image_crop_canves").dialog({ 
     modal:true, 
     width:634, 
     height:741, 
     buttons:{ 
      "SAVE":function(){ 
       $.ajax({ 
        url: "send.php", 
        type: "POST", 
        data: "a=crop&x="+cx+"&y="+cy+"&w="+cw+"&h="+ch+"&gid="+gallery_id+"&id="+image_name, 

        success: function(){ 
         $("#image_crop_canves").dialog('close'); 
         window.location(); 
        } 
       }); 
      }, 
      "CLOSE":function(){ 
       $("#image_crop_canves").dialog('close'); 
      } 
     } 
    }); 

    $("#image_crop").html("<div id=\"image_holder_crop\"><img id=\"cropbox\" src=\"../../pics/gallery/" + gallery_id + "/original/" + image_name + "\" /></div>"); 

    $("#image_crop_canves").dialog('open'); 

    function updateCoords(c) { 
     var cx = c.x; 
     var cy = c.y; 
     var cx2 = c.x2; 
     var cy2 = c.y2; 
     var cw = c.w; 
     var ch = c.h; 
    } 

    $('#cropbox').Jcrop({ 
     aspectRatio: 140/360, 
     onSelect: updateCoords, 
     setSelect: [0, 0, 140, 360], 
     minSize: [140, 360] 
    }); 
} 

回答

0

問題是您正在聲明updateCoords(c)函數中的變量,但試圖在該函數之外訪問它們。這不可能。你可以做的是在open_original(gallery_id, image_name)函數中(在$("#image_crop_canves").dialog({ ... })之前)聲明這些變量,然後從updateCoords(c)函數中設置它們的值,這樣可以在指定對象內訪問這些變量。

0

我做了一個有點「黑客」這個問題 - 我只是給jacrop座標隱藏字段,然後我讀他們的「拯救」!