如何让ExtJS ComboBox显示内联文本?

时间:2010-11-16 03:28:28

标签: css combobox extjs inline

我想让以下内容显示在一行中。我尝试使用样式浮动和显示。

Show this input <input type="text" name="filterOp" id="filterOp"/> inline.


<script type="text/javascript">
    new Ext.form.ComboBox({
        applyTo: 'filterOp',
        triggerAction: 'all',
        name: 'item',
        mode: 'local',
        lazyInit: true,
        displayField: 'name',
        valueField: 'id',
        forceSelection: true,
        typeAhead: true,
        inputType:'text',
        fieldLabel: 'Item selection',
        style: "display: inline-block",
        store: new Ext.data.JsonStore({
            autoLoad: true,
            url: 'reporting/json_report_filter_operators.jsp',
            root: 'rows',
            fields:['id', 'name']
        })
    })

</script>

2 个答案:

答案 0 :(得分:2)

最简单的方法是覆盖页面上的样式。

首先,将段落包装在带有特殊ID的P标记中。

<p id="my-inline-override">
  Show this input <input type="text" name="filterOp" id="filterOp"/> inline.
</p>

然后你可以在页面中添加一个CSS选择器,确保Ext JS添加的DIV标签显示内联(注意“x-form-field-wrap”是插入的DIV包装器的类,你可以看到这个如果您使用chrome开发人员工具来浏览DOM。)

<style>
#my-inline-override div.x-form-field-wrap {
    display: inline;
}
</style>

答案 1 :(得分:0)

对不起,你的问题有点令人困惑。你究竟想要一条线路到底是什么?组合框?代码?组合框中的每个项目?如果它是每个项目只是加宽组合框,或使每个元素都有隐藏溢出和固定宽度。