0

我什至不确定这是否可能......

我正在使用以下 jquery 代码来处理一些 AJAX JSON 数据,它工作正常......

       data = jQuery.parseJSON(data);

    $('textarea#bec_term_id').html(data.bec_term_newlines_term_id); 
    $('textarea#bec_name').html(data.bec_term_newlines_name); 
    $('textarea#bec_slug').html(data.bec_term_newlines_slug); 
    $('textarea#bec_description').html(data.bec_term_newlines_description); 

但我想动态创建上述内容(原因?因为它只是完整代码的缩短版本,可能有未知数量的附加行)。

我尝试使用的方法是:

    data = jQuery.parseJSON(data);

    var columnslist  = [  'term_id', 'name', 'slug', 'description'];  // plus others

    $.each(columnslist, function(index, colname) {
          $('textarea#bec_' + colname ).html(data.'bec_term_newlines_' + colname);  
    });

但它不起作用。

导致困难的是 .html(data. ) 的最后一部分(标记为')。

有谁知道如何在这种情况下使用变量(如果有的话)?如果没有,还有其他方法可以达到同样的目的吗?

4

4 回答 4

1

用于[]传递 var

$('textarea#bec_' + colname ).html(data['bec_term_newlines_' + colname]);
于 2013-02-05T02:26:26.170 回答
1

使用方括号表示法

$('textarea#bec_' + colname ).html(data['bec_term_newlines_' + colname]);  
于 2013-02-05T02:26:35.280 回答
0

您不能像在 JavaScript 中那样对访问器使用字符串,但可以使用括号表示法:

.html(data['bec_term_newlines_' + colname]);
于 2013-02-05T02:26:37.343 回答
0

您可能还可以对 的dataType设置感兴趣$.ajax

api 文档

数据类型(默认:智能猜测(xml、json、脚本或 html))

类型:字符串

您期望从服务器返回的数据类型。如果没有指定,jQuery 将尝试根据响应的 MIME 类型推断它(XML MIME 类型将产生 XML,在 1.4 中 JSON 将产生一个 JavaScript 对象,在 1.4 中脚本将执行脚本,其他任何内容都将是作为字符串返回)。

您可能可以将其设置'json'为避免该data = jQuery.parseJSON(data);行。

于 2013-02-05T02:33:24.220 回答