Как сохранить OPTION-классы с Ext.form.ComboBox в ExtJS? - PullRequest
0 голосов
/ 06 марта 2012

При использовании виджета переводчика сайта Google у вас есть возможность поместить класс "notranslate" в элементы HTML, которые следует оставить непереведенными. Я применил их к отдельным элементам OPTION элемента SELECT, где некоторые параметры должны быть переведены, а другие - нет, но когда я вызываю Ext.form.ComboBox (), классы отдельных элементов OPTION не переносятся.

Мне нужно сделать что-то вроде этого:

<select>
    <option>Please choose your team:</option>
    <option class="notranslate">1983 Los Angeles Dodgers</option>
    <option class="notranslate">1983 Atlanta Braves</option>
<select>

превратится в это:

<!-- note the class "notranslate" -->
<div class="x-layer x-combo-list " id="..." style="...">
<div class="x-combo-list-inner" id="..." style="...">
    <div class="..."><font><font>Please choose your team:</font></font></div>
    <div class="... notranslate"><font><font>1983 Los Angeles Dodgers</font></font></div>
    <div class="... notranslate"><font><font>1983 Atlanta Braves</font></font></div>
</div>

Есть идеи?

Обновлено с дополнительной информацией Я использую версию 3.4, и это код, который у меня сейчас есть:

var teamChoice = new Ext.form.ComboBox({
    typeAhead: true,
    triggerAction: 'all',
    transform: 'teamChoice',
    width: 300,
    forceSelection: true
});

Я видел опцию listClass, но, похоже, она применима ко всем элементам списка. В моем сценарии я хотел бы применить класс только к элементам списка, которые уже имеют класс «notranslate» в исходном элементе OPTION.

1 Ответ

0 голосов
/ 06 марта 2012

Это для ExtJS 4? Я не уверен, как это меняется для 3.3.1, но я считаю, что это должно работать для вас:

Ext.create('Ext.form.ComboBox', {

   ...

   listConfig: {
      itemCls: 'notranslate'
   }

   ...
});
...