Sencha touch:如何刷新输入标签
Sencha touch: How to refresh input label
我有一个Ext.form.Select
,我想在它的值变化时动态更新它的标签。虽然听起来很简单,但它拒绝工作:
var musicInCarInput = new Ext.form.Select({
options: [
{text: "Yes", value: "yes"},
{text: "Maybe", value: "maybe"},
{text: "No", value: "no"}
],
name: "music",
value: "maybe",
label: '<img src="/static/images/comfort_icons/music_maybe_small.png" />',
listeners: {
change: function()
{
musicInCarInput.label = '<img src="/static/images/comfort_icons/music_'+musicInCarInput.getValue()+'_small.png" />';
}
}
});
我试图调用doLayout()
后,我改变了标签,但我被告知,输入没有属性'布局',虽然记录了。
有什么想法吗?
这并不能直接回答问题,因为我没有发现如何更新标签,所以欢迎进一步的回答。我为我找到的解决方案是通过和id获取标签图像,并更新它。
如果其他人需要这个,下面是代码:
var musicInCarInput = new Ext.form.Select({
options: [
{text: "Yes", value: "yes"},
{text: "Maybe", value: "maybe"},
{text: "No", value: "no"}
],
name: "music",
value: "maybe",
label: '<img id="music_input_label" src="/static/images/comfort_icons/music_maybe_small.png" />',
listeners: {
change: function()
{
el = Ext.getDom('music_input_label');
el.setAttribute("src", '/static/images/comfort_icons/music_'+this.getValue()+'_small.png')
}
}
});
正确的答案来自SenchaTouch论坛上的realjax:有一个关于选择的属性(我很惭愧,我错过了)称为labelEl,它可以用来更新这样的包:
musicInCarInput.labelEl.setHTML([your hmtl stuff])
相关文章:
- 从MySQL数据库中获取输入数据需要两次页面刷新
- 更新其中一个字段时刷新其他输入字段.使用Angularjs(附Plunker)
- 点击页面刷新;重新显示两个输入元素
- Chrome没有正确地将值应用于正在被“刷新”的输入;观看”;
- 自动刷新内容,但如果关注此内容中的某个输入,则不刷新
- 输入文件:如何在刷新后显示文件名
- AJAX/JS:抓取多个输入字段而不刷新或点击按钮,php会回显该值
- 自定义CSS输入框,使页面按ENTER键刷新
- JS/Ajax:抓取输入字段值,无需刷新或点击按钮
- JS/AJAX:提交时不刷新或按钮单击不触发输入
- AJAX/JS:是否可以在没有提交按钮和刷新页面的情况下获取输入文本的值
- 自动刷新输入时间对象,无需重新加载页面
- 在检票口中刷新页面后重新聚焦输入字段
- 输入最后一个字段后自动提交/刷新信息路径表单
- 如何在不刷新的情况下将表单输入附加到变量
- 我使用jquery创建输入字段,刷新页面后如何保持这个“新输入值”的存在
- 在输入字段更改时刷新 Javascript 变量
- 如何在页面刷新后保留输入单选按钮的状态
- 刷新输入:使用Jquery Mobile从iframe接收无线电
- Sencha touch:如何刷新输入标签