Onsen UI & AngularJS: 点击后显示/触发原生日期选择器
Onsen UI & AngularJS: Show / trigger native Datepicker after click
我使用输入法编辑日期。
最初,输入是隐藏的,并被带有生日和编辑图标的 div 取代。单击 div 后,将显示输入。一切正常,但如何以编程方式触发/单击输入以在 iOS 中显示 native 日期轮?谢谢你的提示
目前用户必须点击输入。使用以下 JS,我得到一个错误:错误:[jqLite:nosel] jqLite 不支持通过选择器查找元素!
HTML
<div class="profile-birthdate" ng-click="openBirthdate(); bEdit = !bEdit" ng-hide="bEdit">{{ birthDate | date: 'dd.MM.yyyy' }} <i class="fa fa-pencil fa-profile-edit"></i></div>
<div class="profile-birthdate" ng-click="bEdit = !bEdit" ng-show="bEdit"><input id="birthDateChange" type="date" ng-model="birthDate"> <i class="fa fa-check fa-profile-edit"></i></div>
JS
$scope.openBirthdate = function () {
$timeout(function() {
angular.element('#birthDateChange').trigger('click');
}, 100);
};
解决这个问题最好的方法是使用jQuery而不是jqLite
为了保持 Angular 小,Angular 在 jqLite 中只实现了选择器的一个子集。当使用此子集以外的选择器调用 jqLite 实例时会发生此错误。
尝试在 AngularJS 之前包含 jQuery,如果您仍然遇到同样的问题,请按以下方式尝试 AngularJS shim:
shim: {
angular: {
deps: ['jquery'],
exports: "angular"
},
},
希望对您有所帮助!
我使用输入法编辑日期。 最初,输入是隐藏的,并被带有生日和编辑图标的 div 取代。单击 div 后,将显示输入。一切正常,但如何以编程方式触发/单击输入以在 iOS 中显示 native 日期轮?谢谢你的提示
目前用户必须点击输入。使用以下 JS,我得到一个错误:错误:[jqLite:nosel] jqLite 不支持通过选择器查找元素!
HTML
<div class="profile-birthdate" ng-click="openBirthdate(); bEdit = !bEdit" ng-hide="bEdit">{{ birthDate | date: 'dd.MM.yyyy' }} <i class="fa fa-pencil fa-profile-edit"></i></div>
<div class="profile-birthdate" ng-click="bEdit = !bEdit" ng-show="bEdit"><input id="birthDateChange" type="date" ng-model="birthDate"> <i class="fa fa-check fa-profile-edit"></i></div>
JS
$scope.openBirthdate = function () {
$timeout(function() {
angular.element('#birthDateChange').trigger('click');
}, 100);
};
解决这个问题最好的方法是使用jQuery而不是jqLite
为了保持 Angular 小,Angular 在 jqLite 中只实现了选择器的一个子集。当使用此子集以外的选择器调用 jqLite 实例时会发生此错误。
尝试在 AngularJS 之前包含 jQuery,如果您仍然遇到同样的问题,请按以下方式尝试 AngularJS shim:
shim: {
angular: {
deps: ['jquery'],
exports: "angular"
},
},
希望对您有所帮助!