Как получить ExtJS ComboBox для отображения встроенного текста? - PullRequest
3 голосов
/ 16 ноября 2010

Я хочу, чтобы в одной строке отображалось следующее.Я пытался использовать стили float и display.

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


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

</script>

Ответы [ 2 ]

2 голосов
/ 22 ноября 2010

Самый простой способ сделать это - переопределить стили на странице.

Сначала оберните ваш абзац в тег P с помощью специального идентификатора.

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

Затем вы можете добавить на свою страницу селектор CSS, который гарантирует, что тег DIV, добавленный Ext JS, будет отображаться встроенным (обратите внимание, что «x-form-field-wrap» является классом вставленной оболочки DIV, вы можете увидеть это если вы используете инструменты разработчика Chrome для просмотра DOM).

<style>
#my-inline-override div.x-form-field-wrap {
    display: inline;
}
</style>
0 голосов
/ 18 ноября 2010

Извините, ваш вопрос немного сбивает с толку.Что именно вы пытаетесь получить на одной линии?Поле со списком?Код?Каждый элемент в поле со списком?Если это каждый элемент, просто расширьте поле со списком или сделайте так, чтобы у каждого элемента было скрытое переполнение и фиксированная ширина.

...