0

我想在原型中做这样的事情:

onSuccess: function(transport) {
    template = transport.responseText.evalJSON();
    form = event.up('form');
    form.select('.audio_channels').update(template.channelHtml);
}

表单标签是一个表格,我想替换它的内容。channelHtml是一串 HTML<tr>标签。

我越来越:

TypeError: 对象[object HTMLTableElement]没有“更新”方法

所以我认为它不是一个扩展对象并尝试过Element.extend(form.select('audio_channels')),它返回一个空对象。然后我尝试form.select('.audio_channels').innerHTML(template.channelHtml),我得到了TypeError: Object [object HTMLTableElement] has no method 'innerHTML'。然后我尝试使用 tbody 元素,我得到了[object HTMLTableSectionElement] has no method 'innerHtml'

在我看来,这应该可行。form.select('audio_channels')正在返回正确的 DOM 元素。我需要怎么做才能根据我的 ajax 调用设置表格的内容?

4

1 回答 1

0

将最后一行替换为

form.select('.audio_channels').each(function(node){
  node.update(template.channelHtml);
});

这将在实际元素上执行代码,而不是像原始代码那样执行单项数组。

于 2012-08-07T19:15:00.510 回答