2014-01-07 55 views
2

一旦在窗體上勾選了一個複選框,我就調用一個函數執行某些檢查並啓用一個先前禁用的按鈕。ajax調用後調用方法的問題

我的js代碼有以下幾點:如下圖所示

$('#default_address').change -> 
    id = $('#default_address').val() 
    if(this.checked) 
     $.ajax({ 
     url: '/shipments/' + id + '/get_address', 
     dataType: "JSON", 
     success: (data) -> 
      $('#billing_address_address_line1').val(data[0]) 
      $('#billing_address_address_line2').val(data[1]) 
      $('#billing_address_phone_number').val(data[2]) 
     }).done 
     checkPlaceOrderValidity() 

的checkPlaceOrderValidity()方法:

@checkPlaceOrderValidity = -> 
    // some code 
    else 
    place_order_btn.attr 'disabled', false 
    place_order_btn.removeClass 'disabled' 

如果我添加一個通知只是調用checkPlaceOrderValidity()方法之前,工作正常(我發現真的很奇怪)。即使在調試我的代碼後,我仍然無法找到原因。

回答

2

試試這個,

$.ajax({ 
url: '/shipments/' + id + '/get_address', 
     dataType: "JSON", 
     success: (data) - > 
     $('#billing_address_address_line1').val(data[0]) 
     $('#billing_address_address_line2').val(data[1]) 
     $('#billing_address_phone_number').val(data[2]) 
}).done(checkPlaceOrderValidity); 
+0

這工作fine.Thanks了很多! :) – Rads