小编Jef*_*ver的帖子

HTML - 更改select标签上的最大行数

那么我该如何更改应该显示多个启用的select标记的行数:

<select multiple="multiple">
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
</select>
Run Code Online (Sandbox Code Playgroud)

这只会显示前四个选项如何显示第五个而不必滚动?

html javascript select

21
推荐指数
2
解决办法
3万
查看次数

扩展数据动态加载后,EXT-JS组合框的存储重置

我想动态地将项目添加到组合框项目.这是它的定义:

{
      xtype: 'combobox',
      id: 'tierTypeCB',
      fieldLabel: 'Tiers\' type',
      labelWidth: 70,
      editable: false,
      valueField: 'type',
      displayField: 'type',
      store: Ext.create('Ext.data.Store',{
          fields: ['type'],
          data: []
      })
}
Run Code Online (Sandbox Code Playgroud)

在代码的其他部分,我有这个函数应该添加项目:

onGetTiersSuccess: function(response) { // this is a 'success' function of an AJAX request
    var decodedResponse = Ext.decode(response.responseText);
    var tierTypeCB =  Ext.getCmp('tierTypeCB');
    var tierTypesStore = tierTypeCB.getStore();
    for (var tierType in decodedResponse){
        tierTypesStore .add({type: tierType});
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是,当下拉打开时它是空的.我发现的是,我的代码将数据放入组合框的商店,但是一旦组合扩展,商店就会被清空.我使用chrome的控制台做了一些测试.我评论了'onGetTiersSuccess'功能.相反,我只需键入控制台Ext.getCmp('tierTypeCB').getStore().add({type: 'abc'}) 如果我打开组合框它是空的.但是,如果我首先打开组合框(在添加该项目之前),然后才添加该项目,再次打开组合框后,我可以看到我添加的项目.似乎在打开它之前将项目添加到组合框中,一旦打开它就会"重置"组合框的商店.我试图在添加项目之前通过调用Ext.getCmp('tierTypeCB').expand()然后调用来绕过它Ext.getCmp('tierTypeCB').collapse(),但这没有帮助.我也试过不设置我定义它的组合框的商店,但创建一个商店对象,然后将其绑定到组合框(使用bindStore()命令),这也没有帮助.

在这一点上,我很无能,所以如果你有任何想法可以帮助我,我会很感激.

谢谢,eRez

javascript combobox extjs

2
推荐指数
2
解决办法
3281
查看次数

标签 统计

javascript ×2

combobox ×1

extjs ×1

html ×1

select ×1