2012-02-24 44 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