2014-05-22 67 views
0

我有一个简单的问题给你。我有一个模板,我想在内部点击时更改内部模板。 <div id="item-{#}"> Item {#} <img src="remove.png" id="close" onclick="$(this).parent().remove()"/> </div>问题 - 在ExtJS的textcontent div中的img

Ext.get("item-{#}").dom.textContent

当我写这CONSOLE.LOG其答案是 “项{#}” 为正常。

这是我的功能;

Ext.Msg.prompt('Change Note','Change your note',function(btn,text){ if (btn=='ok') { elVal.dom.textContent = text; } },null,true,elVal.dom.textContent);

点击到“确定”按钮后,该文本被成功改变,但我remove.png也删除自身。为什么要去掉img标签?

回答

0

直接操作DOM元素在ExtJS中并不常见。该库在很大程度上从底层html中抽象出来。

在模板的情况下,你会打电话tpl.overwrite(target, data)如果你只有TPL(XTemplate的实例),或者panel.update(data)如果模板是面板的tpl配置选项。

此外,它看起来像你使用jQuery($变量)和ExtJS的组合 - 这通常是没有必要的分机可以做的一切jQuery的可以加得多。

至于听众(点击),它不应该像html标签那样安装为“onclick”属性。最好是通过标准的Ext功能on将听众安装在容器上。

+0

感谢您的重播。 'tpl.overwrite'拯救了我的生命:) – eyo