2011-04-27 6 views
11

나는 ComboBox입니다. 확장 목록에서 항목을 클릭하면 ComboBox이 항목을 선택하고 접습니다. 이미 선택한 항목을 클릭하면 축소됩니다.ExtJs 4, xtype : 'combo'가 이미 선택된 항목을 클릭 할 때 접히는 것을 방지하려면 어떻게해야합니까?

사용자가 이미 선택한 항목을 선택하면 "중지"할 수있는 방법이 있습니까ComboBox?

PS : 나는

나는 적어도 IE7과 IE8에서 작업을 나던 솔루션을 필요로하지 않습니다 http://dev.sencha.com/deploy/ext-4.0.0/examples/themes/index.html

UPDATE에서 TimeField처럼 행동하는 ComboBox을 원하는 짧게하는 ..

+1

다른 사람이이 질문을 찾을 수 있도록 답변을 모르는 경우 ... –

답변

3

당신은 행동하려는 경우 :

Ext.form.field.ComboBox.override({ 
    onItemClick: Ext.emptyFn 
}); 
+0

쿨 :)하지만 IE7, IE8에서는 작동하지 않습니다 ... 그래서 사용할 수 없습니다. 그것 .. –

+0

그리고 그것은 또한 IE6에서 작동 dosn't .. –

+0

당신은 개발자 팀 중 하나에서 팁을 가지고 작동하지 않는다고 말해!? 어쩌면 코드를 자세히 살펴 봐야 할 것입니다. 확장하거나 재정의 할 수 있습니다. 이 문제를 해결하려면 Ext.emptyFn 대신에 사용한 코드를 게시해야합니다. – sra

4
Ext.form.ComboBox.override({ 
    onSelect : Ext.form.ComboBox.prototype.onSelect.createInterceptor(function(record) { 
    return this.getValue() !== record.data[this.valueField || this.displayField]; 
    }) 
}); 

가 크롬과 IE8에서 테스트 : 당신이 상대하고있는 3.3의 경우
+0

이 솔루션은 작동하지 않습니다 ** ExtJs 4 ** .. –

+0

3.3.1에서는 작동하지 않습니다. 아직 테스트하지 않았습니다. –

3

,이 작동하는 것 같다. 현재 값이 설정하려는 값과 정확하게 일치하면 onSelect 함수가 호출되는 것을 방지합니다.

+0

으악, ExtJS 4. – wombleton

+0

해결책 @ 에반 Trimboli에 의해 ExtJS 4 IE8에서 잘 작동합니다. – wombleton

+0

뿐만 아니라, 그것 IE6, 7 & 9에서 작동합니다 – sra