2012-02-24 78 views
0

對不起,我找不到合適的稱呼在JavaScript回調返回值的jQuery

這裏是我的問題

我使用它返回一個字符串值,像HH的方法:毫米(12:45) 這種方法被命名爲DeliveryTimeCalc()

我使用一個jQuery timepicker把我的aspx頁面 這timepicker必須由mintime 的最小時間值應該是由該方法DeliveryTimeCalc返回驗證(輸入) 這臺服務器端的方法有jQuery的過程中被調用初始化 所以我做了以下方法

<script type="text/javascript"> 
    $(document).ready(function() { 
     //window.onload = pageMethodConcept.callServerSideMethod; 
     var time = pageMethodConcept.callServerSideMethod; 
     alert(time); 
     var hm = time.split(':'); 
     var h = hm[0]; var m = hm[1]; 
     $("#tb_DeliveryTime").timepicker({ showPeriodLabels: false, 
      onHourShow: OnHourShowCallback, 
      onMinuteShow: OnMinuteShowCallback 
     }); 
     function OnHourShowCallback(hour) { 

      if ((hour < h)) { 
       return false; // not valid 
      } 
      return true; // valid 
     } 
     function OnMinuteShowCallback(hour, minute) { 
      if ((hour == h) && (minute <= m)) { return false; } // not valid 
      return true; // valid 
     } 
    }); 
</script> 
<script language="javascript" type="text/javascript"> 
pageMethodConcept = { 
    callServerSideMethod: function() { 
     PageMethods.DeliveryTimeCalc(pageMethodConcept.callback); 
    }, 
    callback: function (result) { 
     alert(result); 
     //return result; 
     } 
    } 
    //window.onload = pageMethodConcept.callServerSideMethod; 
</script> 

但問題是,它沒有返回值(HH:MM) 我得到它包含一個警告框像

function() { 
    PageMethods.DeliveryTimeCalc(pageMethodConcept.callback); 
} 

即使我用回我收到相同的值

,但輸出,如果我用

window.onload = pageMethodConcept.callServerSideMethod; 

我得到一個警告框,其中包含輸出像hh:mm

請幫助!

+0

Fyi,'language =「javascript」'已經過時而且沒有必要。 – ThiefMaster 2012-02-24 11:26:12

回答

0

謝謝你們的幫助 但我已經找到了解決辦法自己

溶膠1 使用Web服務

http://markitup.com/WebServices/TimeZones.asmx?op=CurrentDateTime

這就是我們要進入一個Web服務時區名稱 例如:(印度標準時間)

Sol 2

在pageload中編寫一個方法,並在該方法中編寫代碼。 當你必須返回結果 將結果放在labe文本中,並將標籤的可見性設置爲false (注意:如果可見性設置爲false,則無法在javascript中找到標籤 因此,使可視性錯誤。style =「display:none;」這並不相同,但 在JavaScript中,你可以找到標籤) 您可以通過使用

var time = $("#lbl_time").text(); 

發現在JavaScript標籤由於我們的編碼jQuery的爲$(文件)。就緒(函數()的jQuery將頁面加載執行之後才

所以,問題就迎刃而解了

執行謝謝

-Krishna Thota

1

嘗試簡單地改變:

var time = pageMethodConcept.callServerSideMethod(); 

尾隨():你必須給函數的返回值賦給變量,而不是功能本身,而是:

window.onload = pageMethodConcept.callServerSideMethod; 

作品如預期因爲你正在給一個事件分配一個處理程序,並且你沒有任何參數可以與該函數一起傳遞:實際上它可以寫成以下形式:

window.onload = function() { 
    pageMethodConcept.callServerSideMethod(); 
} 
+0

那麼我現在應該做什麼,所以我需要返回結果 – 2012-02-24 11:40:28