0
확인란을 선택하면 목록 상자의 모든 값이 선택됩니다. 목록 상자, 예를 들어,의 모든 값을 포함하는 배열에확인란을 사용하여 목록 상자의 모든 값을 선택하십시오.
if (getComponent('checkBox1').getValue() == "true") { // how select all items of for example listbox1 }
확인란을 선택하면 목록 상자의 모든 값이 선택됩니다. 목록 상자, 예를 들어,의 모든 값을 포함하는 배열에확인란을 사용하여 목록 상자의 모든 값을 선택하십시오.
if (getComponent('checkBox1').getValue() == "true") { // how select all items of for example listbox1 }
당신은 목록 상자 구성 요소의 setSelectedValues()
방법을 사용할 수 있으며, 합격 : 이 확인란이 선택되어 있으면 내가 사용하는 참조하십시오 [ "value1", "value2", "value3"]. 체크 박스의 onChange 이벤트에 이것을 넣고 목록 상자를 부분적으로 새로 고침하면 원하는 것을 할 수 있습니다.
SSJS에서 목록 상자 값을 하드 코딩하지 않고 목록 상자에서 사용 가능한 값을 가져 오려면 XSnippet by Sven Hasselbach을 확인하십시오. 이 스 니펫을 사용하여 아래 예를 만들었습니다.
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:checkBox text="Select All" id="checkBox1">
<xp:eventHandler event="onchange" submit="true" refreshMode="partial" refreshId="listBox1">
<xp:this.action>
<![CDATA[#{javascript:
//Get the listbox component
var listbox = getComponent('listBox1');
if (getComponent('checkBox1').getValue() == "true") {
//Checkbox is checked
//Get an iterator for the items in the listbox
var childrenList:java.util.ListIterator;
childrenList = listbox.getChildren().listIterator();
//Generate the array of items
var itemList = [];
while (childrenList.hasNext()) {
var child = childrenList.next();
itemList.push(child.getItemValue());
}
//Set the selectedValues of the listbox
listbox.setSelectedValues(itemList);
}else if(getComponent('checkBox1').getValue() == "false") {
//Checkbox is unchecked
//Set listbox to have no selections, empty array
listbox.setSelectedValues([]);
}
}]]>
</xp:this.action>
</xp:eventHandler>
</xp:checkBox>
<xp:br />
<xp:listBox id="listBox1" multiple="true" style="height:200px;width:150px">
<xp:selectItem itemLabel="value1" itemValue="value1"></xp:selectItem>
<xp:selectItem itemLabel="value2" itemValue="value2"></xp:selectItem>
<xp:selectItem itemLabel="value3" itemValue="value3"></xp:selectItem>
<xp:selectItem itemLabel="value4" itemValue="value4"></xp:selectItem>
<xp:selectItem itemLabel="value5" itemValue="value5"></xp:selectItem>
</xp:listBox>
</xp:view>
이것이 내가 원하는 것입니다. 나는 최종 사용자를 위해 이것을하고있다. 목록 상자의 모든 항목을 수동으로 선택하는 것보다 확인란을 선택하는 것이 더 빠릅니다 (많은 항목이있는 경우). –