我正在使用这个javascript函数。
<Spinner
android:id="@+id/settingsSetSpinner"
android:background="@color/j3PreferencesBackground"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/settingsPickerTitle"
android:defaultValue="0"
android:entries="@array/import_export_locations"
/>
每次返回NULL ..我认为执行循环后。 JavaScript编译器转到下一个语句并返回NULL,我想如果,如果语句在循环中为true则返回name并且不返回NULL。任何人都可以帮助我吗?
答案 0 :(得分:1)
你可以这样试试。
var StaffUsers = {"1":"user1","2":"user2"};
get_staff_name = function(id) {
if (typeof StaffUsers === "object") {
if(StaffUsers.hasOwnProperty(id)){
return StaffUsers[id];
}
}
}
console.log(get_staff_name(1))
答案 1 :(得分:0)
这里的回报是问题所在:
$.each(StaffUsers, function(staff_id, name){
if ( Number(staff_id)==Number(id) ) {
return name;
}
});
它返回$ .each回调函数而不是你的get_staff_name函数。你需要使用普通的js循环,回调或其他东西..
答案 2 :(得分:0)
此:
return name;
不会从此功能返回:
function(id) {
从这个返回:
function(staff_id, name){
如果您需要从&#34;循环中返回&#34;那么我想一个简单的方法就是只用一个普通的循环代替$.each()
。像这样:
for (var i = 0; i < StaffUsers.length; i++) {
if (Number(i) == Number(id)) {
return StaffUsers[i];
}
};