我正在使用Visual Studio 2015上的Ionic,Cordova开发应用程序。它在Ripple模拟器上按预期工作,但是,在Android设备上,下拉列表是空白的(请参见屏幕截图1)。选择后,下拉列表显示文本(屏幕截图2)。
分享演示代码(不使用plunkr,因为这是一个移动应用程序):
HTML:
<ion-view style="" id="page9" title="Setup">
<ion-content class="has-header" delegate-handle="setupCtrl">
<form style="" class="list">
<label style="" name="Language" class="item item-select">
<span class="input-label">Language</span>
<select class="dropdown"
ng-model="lang"
ng-options="LanLst.id as LanLst.name for LanLst in languages"
ng-change="languageChange(lang)">
</select>
</label>
</form>
<a class="button button-positive button-block" id="setup-button8" ui-sref="tabsController.welcome" ng-disabled="dataSetupDone" >Begin</a>
</ion-content>
使用Javascript:
.controller('setupCtrl', ['$scope', 'ServiceFactory', 'sharedProperties', '$filter', '$ionicScrollDelegate', function ($scope, ServiceFactory, sharedProperties, $filter, $ionicScrollDelegate) {
$ionicScrollDelegate.resize();
$scope.languageChange = function (lang) {
sharedProperties.setLanguage(lang);
$scope.dataSetupDone = true;
$scope.offline.checked = false;
};
}])
数据:
Languages:
[
{ "id": 1, "language": "English"},
{ "id": 2, "language": "Spanish"}
]
lang将是id:1或2。
allData将拥有实际数据。
for (var i = 0; i < allData.length; i++)
{
$scope.languages.push({ "id": allData[i].id, "name": allData[i].language });
$scope.languagesWithText.push({ "id": allData[i].id, "name": allData[i].languageText });
}