1

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

到目前为止的代码是: -

$('#daycal').live('click', function() {
  $('#catchdate').datebox('open');
});

$( "#catchdate" ).bind( "change", function(event, ui) {
  $("#test1").val("xyz");
});

<div data-role="fieldcontain">
  <label for="catchdate">Some Date</label>
  <input name="catchdate" type="date" data-role="datebox" id="catchdate" data-options='{"mode":"calbox", "useNewStyle":true, "theme":true, "themeHeader":"f", "themeDateHigh":"f", "themeDatePick":"e", "themeDate":"f", "centerHoriz":true}' />
  <input id="test1" type="text"/> <!-- Later changed to a function call -->
</div>

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

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

我还在寻找答案的某个地方看到了“不推荐使用”的评论。

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

我需要进行哪些更改才能获得所需的功能?

4

2 回答 2

5

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

$('#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
    }
});
于 2013-07-18T11:11:24.710 回答
0

认为这可以解决它

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

你可以去Fiddle上测试一下

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

于 2013-07-18T11:24:42.270 回答