Jquery mobile jquerymobile datebox-选择日期时如何调用函数

Jquery mobile jquerymobile datebox-选择日期时如何调用函数,jquery-mobile,datebox,Jquery Mobile,Datebox,我使用jquerymobile日期框继承了一些代码。到目前为止,代码主要集中在使应用程序看起来正确。我需要让它工作,这样当选择一个日期时,服务器就会被调用,并加载一个新页面。大多数示例只是更改页面中的日期 到目前为止,守则是:- $('#daycal').live('click',function()){ $('#catchdate')。日期框('open'); }); $(“#catchdate”).bind(“更改”,函数(事件,用户界面){ $(“#test1”).val(“xyz”);

我使用jquerymobile日期框继承了一些代码。到目前为止,代码主要集中在使应用程序看起来正确。我需要让它工作,这样当选择一个日期时,服务器就会被调用,并加载一个新页面。大多数示例只是更改页面中的日期

到目前为止,守则是:-

$('#daycal').live('click',function()){
$('#catchdate')。日期框('open');
});
$(“#catchdate”).bind(“更改”,函数(事件,用户界面){
$(“#test1”).val(“xyz”);
});


某个日期
在我的简单测试中,当选择日期时,我希望输入中的文本发生变化

我已经看到了一个使用bind to change事件的示例,但是我无法让它工作。在这个示例中,我刚刚更改了输入元素中的值,稍后将更改为函数调用

在我寻找答案的过程中,我还看到了一条评论,说“live”不受欢迎

最后,我想我可以使用closeCallback('Callbacks('openCallback'和'closeCallback')很容易使用…),但找不到任何应该如何使用它的示例


要获得所需的功能,我需要做哪些更改?

您可以尝试使用日期框的关闭功能,以便当用户更改所选日期并关闭日期框时,您可以使用所选日期调用服务器方法:

$('#DateSelectorId').bind('datebox', function (e, passed) { 
    if ( passed.method === 'close' ) {  
        // selected date
        var date = $('#DateSelectorId').val();          
        // make your service method and change page to another page
    }
});

您可以尝试使用日期框的“关闭”功能,以便当用户更改所做的日期选择并关闭日期框时,您可以使用所选日期调用服务器方法:

$('#DateSelectorId').bind('datebox', function (e, passed) { 
    if ( passed.method === 'close' ) {  
        // selected date
        var date = $('#DateSelectorId').val();          
        // make your service method and change page to another page
    }
});
你觉得这个可以解决吗

$('#catchdate').on('datebox', function(e, p) {
   if ( p.method === 'close' ) {
       alert('DO SOMETHING');
   }
});
你可以在

**我想你需要对输入框是否为空进行一些验证检查

我想这可以解决问题

$('#catchdate').on('datebox', function(e, p) {
   if ( p.method === 'close' ) {
       alert('DO SOMETHING');
   }
});
你可以在



**我想你需要对输入框是否为空进行一些验证检查,以及这个答案与第一个答案有何不同?如果我只是关闭日期框或从日期框中丢失焦点,那么它也会触发关闭事件,因此你需要在之前进行一些验证,顺便说一句,对此表示抱歉。我在Fiddle上签出了代码,然后下载了源代码代码将脚本添加到html中,但我无法使其工作。我的经验不足,我认为,因为在输入框上没有图标,我可以点击。但感谢您提供的示例。您可以这样做=>bind input field click event,并在该事件上打开日期框“$('#catchdate')。日期框('open');”这个答案与第一个答案有什么不同?如果我只是关闭日期框或从日期框中丢失焦点,那么它也会触发关闭事件,所以你需要在之前进行一些验证,顺便说一句,对此表示抱歉。我在Fiddle上签出了代码,然后下载了源代码,将脚本添加到html中,但我无法让它工作。我的经验不足,我认为,因为在输入框上没有图标,我可以点击。但是感谢您提供的示例。您可以这样做=>bind input field click event,并在该事件上打开日期框的代码“$”(“#catchdate”)。datebox('open');”没有理由监视“change”的输入不起作用-尽管.live()或.on()是您的朋友-datebox会移动输入,但不确定.bind()是否正在解除绑定(这是可能的)。也就是说,Sheetal的回答是非常正确的。我忽略了显示单击事件在图标上,而不是在输入boc上。我使用了没有理由监视输入“更改”不应该起作用-尽管.live()或.on()是您的朋友-日期框会四处移动输入,不确定.bind()是否正在解除绑定(有可能)。也就是说,Sheetal的答案是非常正确的。我忽略了显示点击事件在图标上,而不是在输入boc上。我使用了我确信你的答案是好的,但尽管我没有将其包括在代码中(!我的错误)单击事件在图标上,而不是在输入元素上。无论如何,感谢您提供的示例,我将在其他地方使用它。现在,您可以检查是否已通过。方法==='set'以查看是否已选择日期。用户单击X图标将调用“close”方法,即使未选择日期。我确信您的答案是好的,但我没有“不要将其包含在代码中(!我的错误)单击事件在图标上,而不是在输入元素上。无论如何,感谢您提供的示例,我将在其他地方使用它。现在,可以检查是否已通过。方法==”设置“以查看是否已选择日期。用户单击X图标将调用“关闭”方法,即使未选择日期。