我正在使用jQuery Mobile日期选择器控件,但我无法更改任何属性。例如,以下代码将尝试在文档就绪函数中将星期的第一天设置为星期三,但它不起作用。
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<link rel="stylesheet" href="jquery.mobile-1.0a4.1.min.css" />
<link rel="stylesheet" href="jquery.ui.datepicker.mobile.css" />
<script type="text/javascript" src="jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="jquery.mobile-1.0a4.1.min.js"></script>
<script src="jquery.ui.datepicker.js"></script>
<script src="jquery.ui.datepicker.mobile.js"></script>
<script>
$(document).ready(function()
{
$("#date").datepicker({ firstDay: 3 });
});
</script>
</head>
<body>
<div data-role="page" data-theme="b" id="home">
<div data-role="header">
<h1>Test</h1>
</div>
<div data-role="content" data-theme="b">
<div data-role="fieldcontain">
<input type="date" name="date" id="date" value="" />
</div>
</div>
</div>
</body>
</html>
任何想法我做错了什么?这是否失败,因为日期选择器已经显示?
答案 0 :(得分:1)
我已设法通过更改“jquery.ui.datepicker.mobile.js”文件来更改属性
将日期格式更改为:“dd / mm / yy”代码如下所示
//bind to pagecreate to automatically enhance date inputs
$( ".ui-page" ).live( "pagecreate", function(){
$( "input[type='date'], input[data-type='date']" ).each(function(){
$(this).after($("<div />").datepicker({ altField: "#" + $(this).attr("id"), showOtherMonths: true, dateFormat: "dd/mm/yy" }));
});
});
答案 1 :(得分:0)
如果您尝试使用其他设置器会发生什么?
$('.selector').datepicker('option', 'firstDay', 1);
答案 2 :(得分:0)
你错过了bind()
//reset type=date inputs to text
$( document ).bind( "mobileinit", function(){
$.mobile.page.prototype.options.degradeInputs.date = true;
});
文档(位于页面底部):http://jquerymobile.com/demos/1.0a4.1/experiments/ui-datepicker/
此外,我更喜欢DateBox更好的IMO:http://dev.jtsage.com/jQM-DateBox/
答案 3 :(得分:0)
我有类似的问题,不得不在jquery.ui.datepicker.mobile.js中更改两行
首先,我需要将调用的返回值存储到prevDp(第18行)。
var value = prevDp.call( this, options );
然后我不得不返回这个值而不是这个(第46行)
return value;
现在你应该可以用Matt Ball建议的选项调用datepicker。