2014-09-08 2 views
1

У меня есть поле со списком, и я хотел бы иметь возможность добавлять новые значения в Combo Box, используя кнопки и поле ввода. Я пробовал с:XPages добавить значения в Combo Box

var value = getComponent("input").getValue(); 
getComponent("combobox").setValue(value); 

но он не работает.

Спасибо,

Флорин

ответ

4

Использовать viewScope например viewScope.selectItems переменная.

  • Используйте этот viewScope как список selectItems.
  • Добавьте к нему начальные значения.
  • Позже, добавить дополнительный новый элемент в этой viewScope, а затем он появится в списке пункт выбора COMBOBOX в.

Это рабочий пример:

<xp:comboBox 
    id="comboBox1" 
    value="#{sessionScope.test}"> 
    <xp:selectItems> 
     <xp:this.value><![CDATA[#{javascript: 
     if (!viewScope.selectItems) { 
      viewScope.selectItems = ["your","initial","values"]; 
     } 
     return viewScope.selectItems;}]]></xp:this.value> 
    </xp:selectItems> 
</xp:comboBox> 
<xp:inputText 
    id="inputText1" 
    value="#{viewScope.newItem}"> 
</xp:inputText> 
<xp:button 
    value="Add to selectItems" 
    id="button1"> 
    <xp:eventHandler 
     event="onclick" 
     submit="true" 
     refreshMode="complete"> 
     <xp:this.action><![CDATA[#{javascript: 
      viewScope.selectItems.add(viewScope.newItem); 
      viewScope.newItem = ""; 
     }]]></xp:this.action> 
    </xp:eventHandler> 
</xp:button> 
+0

Если я использую applicationScope значения будут оставаться там навсегда? Я хочу сохранить эти значения. Спасибо. –

+2

Не совсем надолго. До тех пор, пока длится applicationScope. Если вы перезапустите http-задачу или сервер или вы измените код, приложение applicationScope будет сброшено. Если вы хотите сохранить значения навсегда, вам необходимо сохранить их, например. Документ Notes. –

+2

@ Flopet17 Если у вас есть вид со столбцом, содержащим все сохраненные значения для этого поля, можно использовать формулу DbColumn для создания списка selectItems. В качестве альтернативы вы можете подумать о создании конфигурационных документов для хранения возможных значений, а не для привязки переменных. –