2013-06-21 62 views
0

我有兩個單選按鈕(值A或B)和下面的調色板區域。當選擇A值時我想顯示調色板,選擇B時隱藏它,所以ajax更新。 如何做到這一點? 我對現有項目使用舊的Tapestry 4.0.2,所以我無法升級。如何用Tapestry 4.0中的單選按鈕觸發ajax更新?

這裏是我到目前爲止的代碼

標記:

<span jwcid="[email protected]" selected="ognl:modelOption"> 
    <tr> 
     <td class="dataLabel" width="15%"> 
     </td> 

     <td>  
      <input type="radio" jwcid="@Radio" value="ognl:@[email protected]"/> All models (Default) 
     </td>   

    </tr> 

    <tr> 
     <td class="dataLabel" width="15%"> 
     </td> 

     <td> 
      <input type="radio" jwcid="@Radio" value="ognl:@[email protected]"/> Specific models 
     </td> 

    </tr>  
</span> 

<span jwcid="@If" condition="ognl:specificDeviceModels"> 
    <tr> 
     <td class="dataLabel" width="15%"> 
      <span key="supportedDeviceModelsLabel">Supported device models:</span>: 
     </td> 

     <td> 
      <div class="bundle_palette"> 
       <span jwcid="palette"/> 
      </div> 
     </td> 
    </tr> 
</span> 

的Java:

public static final Integer ALL = new Integer(1); 
public static final Integer SPECIFIC = new Integer(2); 

public abstract Integer getModelOption(); 

public abstract List<DeviceModel> getSelectedDeviceModels(); 
public abstract void setSelectedDeviceModels(List<DeviceModel> deviceModels); 

public abstract void setDeviceModels(List<DeviceModel> deviceModels); 
public abstract List<DeviceModel> getDeviceModels(); 

@Component(type = "contrib:Palette", bindings = {"selected=selectedDeviceModels", "model=deviceModel"}) 
public abstract Palette getPalette(); 

public IPropertySelectionModel getDeviceModel() { 
    return new OptionValueSelectionModel(getDeviceModels()).sorted(); 
} 

public void pageBeginRender(PageEvent event) { 

    setDeviceModels(getDeviceService().findDeviceModels(null)); 
} 

public boolean getSpecificDeviceModels() { 
    //here I need to set boolean value and return it 
    return true/false; 
} 

回答