2013-09-10 54 views
1

我對Kendo ComboBox的顯示寬度有限制,所以在正常狀態下,我需要相當窄。選項項目利用「模板」,並且比ComboBox更廣泛。我想更新寬度,當用戶點擊/訂閱組合框時,當我一直在製作的js/css似乎工作時,選項不會以正確的寬度顯示,直到第2次單擊組合框 - 實際的組合框寬度會發生變化。有沒有可能在事件中改變Kendo ComboBox選項的寬度?

@Html.Kendo().ComboBox() 
      .Name("Type") 
      .BindTo(Model.Types) 
      .Events(e => { e.Open("TypeOpen"); }) 
      .Template("<div style='width: 300px'>${ data.Text }</div>") 

// JS

function TypeOpen() { 
    $("#Type").closest(".k-widget").css("width", "300px"); 
} 

//後第一次點擊;它看起來不錯,第二次點擊之後

after first click

回答

6

如果你把你的DropDownList在一個div你可以使用CSS控制下拉列表大小:

<div id="myCombo"> 
     @Html.Kendo().ComboBox().HtmlAttributes(new { style = "width:50px" }) 
        .Name("Type") 
        .BindTo(Model.Types) 
        .Events(e => { e.Open("TypeOpen"); }) 
        .Template("<div style='width: 300px'>${ data.Text }</div>") 
    </div> 

    <style> 
    #myCombo-list 
     { 
      width: 100px !important; 
     }  
    </style> 
+0

美麗的,謝謝!我能夠得到這個工作,而不使用div。我只是將樣式添加到#類型列表。有沒有問題我沒有看到這樣做?我無法通過在活動期間插入此CSS來實現它 - 有沒有可能的方式? – Josh

+0

不要以您描述的方式包含列表樣式的問題......不確定爲什麼它不適用於事件綁定。 –

+0

積分爲你:) thx – paqogomez

相關問題