我想参数化我的javascript例程,所以我可以从我的JSON界面返回的列表中传递我想用来填充的字段名称。 即,我想将我的getRoutes()函数(下面)转换为getTable(),并传递表名“Routes”和我希望它使用的字段“routeId”。 “路由”显然不是问题,因为它只是传递给我的JSON api,但是如何将“routeId”放入代码? java有像getDeclaredField这样的东西,javascript是什么用的?我认为这是getValue,如
items.push("<option>" + val.getValue(keyName) + "</option>");
但是没有用。
这是我想要概括的原始工作代码,
function getRoutes(){
$.getJSON( "/GeeREST/Entity?entity=Routes",
function( data ) {
var items = [];
$.each( data, function( key, val ) {
items.push("<option>" + val.routeId + "</option>");
});
...
这就是我想要做的事情
function getTable(tableName,keyName){
$.getJSON( "/GeeREST/Entity?entity="+tableName,
function( data ) {
var items = [];
$.each( data, function( key, val ) {
items.push("<option>" + val.getValue(keyName) + "</option>");
});
...
答案 0 :(得分:1)
这是一个简单的解释:
var a = { 'b':1,'c':2};
$.each( a, function(key,val) {
console.log(key,val,a[key]);
});
// Outputs:
// b 1 1
// c 2 2
所以基本上val等于[key],key是我们迭代的对象的关键, 所以在你的情况下你应该使用val [keyName]。