我想在我的cordova / javascript应用程序中使用一些插件从嵌套函数返回一个值,但是它不能正常工作:
if(restaurantsNearby == true) {
if(restaurantNameArr.length == 1){
return restaurantNameArr[0].rID;
} else {
return actionSheet(restaurantNameArr);
}
}
var actionSheetCallback = function(buttonIndex) {
return window.restaurantNameArr[buttonIndex-1].rID;
};
function actionSheet(restaurantNameArr) {
var restaurantNames = new Array();
$.each(restaurantNameArr, function(key, value) {
restaurantNames.push(value['rName']);
});
var options = {
'title': 'Where are you?',
'buttonLabels': restaurantNames,
'androidEnableCancelButton': false,
'winphoneEnableCancelButton': false
};
window.restaurantNameArr = restaurantNameArr;
window.plugins.actionsheet.show(options, actionSheetCallback);
return actionSheetCallback;
};
我希望使用第一个window.restaurantNameArr[buttonIndex-1].rID
语句返回if
的值,但它不起作用。
编辑 restaurantNameArr
看起来像[{rID: '188', rName: 'Taverne'}, {rID: '192', rName: 'Pub'}, {rID: '193', rName: 'Ducis'}, ...]
答案 0 :(得分:0)
你说对象是
{ rid : { rid : {} } }
它可能不是那样嵌套的。放弃摆脱
if(restaurantNameArr.length == 1){
return restaurantNameArr[0]; //.rID;
} else {