Jessica,
have you tried setting partialSubmit="true" on the listbox A?
Regards,
Max Starets
Jessica Johnson wrote:
Hi all,
I just started using Trinidad 1.0.1 and would like to use PPR so that
when a value is selected in a SelectManyListBox A, it re-renders
SelectManyListBox B with some of the options disabled. The problem is
that whenever I select something is the first list box, the entire
page is re-rendered. I am outputting a random number at the bottom
of the page so I know that the entire page is being re-rendered. I
assume that I am missing something simple, but for the life of me I
can't figure out what. If someone could take a look at the code below
and let me know what is wrong, I would greatly appreciate it.
Thanks in advance,
jessica
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri=" http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://myfaces.apache.org/trinidad/html" prefix="trh" %>
<%@ taglib uri="http://myfaces.apache.org/trinidad" prefix="tr" %>
<[EMAIL PROTECTED] errorPage="/exception_error.jsp"%>
<f:view>
<h:form id="filter_results_form">
<tr:subform id="select_box_form" >
<h:panelGrid columns="2" width="100%" align="center">
<tr:selectManyListbox id="selectA"
size="4"
autoSubmit="true"
valueChangeListener="#{testLoader.aChanged}"
value="#{testLoader.AList}" >
<tr:selectItem label="--- All As ---"
value="-1" />
<f:selectItems value="#{testLoader.origAList}" />
</tr:selectManyListbox>
<tr:selectManyListbox
id="selectB"
size="4"
valueChangeListener="#{testLoader.bChanged}"
value="#{ testLoader.BList}"
partialTriggers="filter_results_form:select_box_form:selectA" >
<tr:selectItem label="--- All Bs ---"
value="-1" />
<f:selectItems value="#{testLoader.origBList}" />
</tr:selectManyListbox>
<tr:outputText styleClass="message"
value="Selected As: #{ testLoader.selectedAs}" />
<tr:outputText styleClass="message"
value="Selected Bs: #{testLoader.selectedBs}" />
</h:panelGrid>
</tr:subform>
<tr:outputText styleClass="message" value="#{testLoader.random}" />
</h:form>
</f:view>
package com.imi.jsf.pageloaders ;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;
public class TestLoader {
public TestLoader() {
origAList = new ArrayList();
origAList.add(new SelectItem("853", "A1"));
origAList.add(new SelectItem("862", "A2"));
origBList = new ArrayList();
origBList.add(new SelectItem("862,4748", "B1"));
}
private List aList;
public List getAList() { return aList; }
public void setAList(List aList) { this.aList = aList; }
private List bList;
public List getBList() { return bList; }
public void setBList(List bList) { this.bList = bList; }
private List origAList;
public List getOrigAList() { return origAList; }
public void setOrigAList(List origAList) { this.origAList =
origAList; }
private List origBList;
public List getOrigBList() { return origBList; }
public void setOrigBList(List origBList) { this.origBList =
origBList; }
public List getSelectedAs() { return selectedAs; }
public List getSelectedBs() { return selectedBs; }
private List selectedAs;
public void aChanged(ValueChangeEvent vce) {
selectedAs = (List) vce.getNewValue();
aList = selectedAs;
}
private List selectedBs;
public void bChanged(ValueChangeEvent vce) {
selectedBs = (List) vce.getNewValue();
bList = selectedBs;
}
private Random generator = new Random();
public int getRandom() {
return generator.nextInt();
}
}