2010-11-16 58 views
3

我想要得到以下內容以單行顯示。我曾嘗試使用樣式浮動和顯示。如何讓ExtJS組合框與文本內聯顯示?

 
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> 

回答

1

最簡單的方法是覆蓋頁面上的樣式。

首先,將您的段落包裝在帶有特殊ID的P標籤中。

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

然後你就可以添加一個CSS選擇器的頁面,確保通過Ext JS的添加DIV標籤顯示內嵌(注意,「X-表單域換行」是類插入DIV包裝的,如果您使用Chrome開發人員工具瀏覽DOM,則可以看到這一點)。

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

對不起,您的問題有點混亂。你究竟想要在一條線上做什麼?組合框?代碼?組合框中的每個項目?如果它的每個項目只是擴大組合框,或使每個元素都有隱藏溢出和固定寬度。

+0

我想在瀏覽器中呈現時在同一行中看到「顯示此輸入」。 ComboxBox渲染時會生成一個div元素,它是一個塊元素,將它渲染爲一個新行。 – Artilheiro 2010-11-19 18:48:03