我有一个应用程序,它是在 phonegap 上开发的。
我使用了一个缓慢的日期选择器插件,所以我想更改它。
我搜索并找到一个可用的;
https://github.com/phonegap/phonegap-plugins/tree/master/Android/DatePicker
我跟着步骤。
但我没有看到我的日期选择器,只看到一个空的输入元素。
我创建了一个包“com.phonegap.plugin”并将我的“DatePickerPlugin.java”放入这个包中。
我创建了“datePickerPlugin.js”并将其放在 assets/www 文件下。
我将它包含在 index.html 中
<script type="text/javascript" charset="utf-8" src="datePickerPlugin.js"></script>
或者
<script type="text/javascript" src="datePickerPlugin.js"></script>
我在我的元素中添加了一个 class="nativedatepicker"
<input type="text" class="nativedatepicker" id="get_date" name="get_date" />
我将代码放入 index.html 的脚本部分
$('.nativedatepicker').focus(function(event) {
var currentField = $(this);
var myNewDate = Date.parse(currentField.val()) || new Date();
// Same handling for iPhone and Android
window.plugins.datePicker.show({
date : myNewDate,
mode : 'date', // date or time or blank for both
allowOldDates : true
}, function(returnDate) {
var newDate = new Date(returnDate);
currentField.val(newDate.toString("dd/MMM/yyyy"));
// This fixes the problem you mention at the bottom of this script with it not working a second/third time around, because it is in focus.
currentField.blur();
});
});
$('.nativetimepicker').focus(function(event) {
var currentField = $(this);
var time = currentField.val();
var myNewTime = new Date();
myNewTime.setHours(time.substr(0, 2));
myNewTime.setMinutes(time.substr(3, 2));
// Same handling for iPhone and Android
plugins.datePicker.show({
date : myNewTime,
mode : 'time', // date or time or blank for both
allowOldDates : true
}, function(returnDate) {
// returnDate is generated by .toLocaleString() in Java so it will be relative to the current time zone
var newDate = new Date(returnDate);
currentField.val(newDate.toString("HH:mm"));
currentField.blur();
});
});
最后,我把插件放到我的 plugins.xml
<plugin name="DatePickerPlugin" value="com.phonegap.plugin.DatePickerPlugin"/>
我的错误在哪里?
我使用cordova-1.9.0 和Android 2.2。我还包括了我的 Cordova 库文件。
我几乎在stackoverflow中查看了有关此错误的所有问题,但没有找到任何有效的解决方案。