2012-03-19 4 views
1

Использование Dojo 1.6.1FilteringSelect выравнивание текста

У меня есть FilteringSelect, который выглядит как:

enter image description here

Когда выбран адрес, он выглядит следующим образом:

enter image description here

То, что я действительно хотел бы увидеть, это:

enter image description here

Любые идеи о том, как это можно сделать?

ответ

3

Когда вы выбираете значение в выборе фильтрации, позиция каретки находится в конце текста, поэтому это не поможет вам CSS. Вам нужно переместить курсор в начало текста.

Я не вижу другого варианта, кроме javascript здесь.

Если вы посмотрите на шаблон dijit.form.FilteringSelect, вы увидите, что входной узел привязан к свойству «focusNode» виджета. Таким образом, вы могли бы использовать, чтобы переместить каретку, как это:

dijit.byId('your_filteringSelect_id').onChange = function(evt) { 
    this.focusNode.setSelectionRange(0,0); 
} 
+0

Отлично работает, спасибо. –

1

Это, как представляется, IE & FF вопрос посмотреть перечисленную ошибку:

http://bugs.dojotoolkit.org/ticket/8298

, а также тестовый случай (проблема видели в IE7-9):

http://jsfiddle.net/snover/96Ud8/

Обходной предложил, чтобы установить функцию _setC aretPos сделать notthing

например
dijit.byId('your_filteringSelect_id')._setCaretPos = function() {}; 
0

.setSelectionRange не работает в IE

Использование dijit.selectInputText (widget.focusNode, 0,0); вместо

Смежные вопросы