我使用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>
在我的简单测试中,我预计输入中的文本会在选择日期时发生变化。
我见过一个使用bind来改变事件的例子,但我无法让它工作。在示例中,我只是更改了输入元素中的值,稍后将更改为函数调用。
我也在寻找答案的某个地方看到了一条“现场”被弃用的评论。
最后,我认为我可以使用closeCallback('Callbacks('openCallback'和'closeCallback')很容易使用...')但是找不到任何应该如何使用的例子。
我需要做哪些更改才能获得所需的功能?
答案 0 :(得分: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
}
});
答案 1 :(得分:0)
认为这可以解决它
$('#catchdate').on('datebox', function(e, p) {
if ( p.method === 'close' ) {
alert('DO SOMETHING');
}
});
你可以去 Fiddle
进行测试**我认为你需要对输入框空或不是
进行一些验证检查