0
final TextField<Double> regularPrice = new TextField<Double>("regular", new PropertyModel<Double>(listItem.getModel(), "price"))
 {
   private static final long serialVersionUID = 1L;

   @Override
   protected void onConfigure() 
   {
     super.onConfigure();                 
     setEnabled(cashflowStatus.compareTo(CashflowStatus.M_MANUAL) < 0);
   }
 };
 listItem.add(regularPrice);



regularPrice.add(new AjaxFormComponentUpdatingBehavior("onChange")
{
    private static final long serialVersionUID = 1L;

    @Override
    protected void onUpdate(AjaxRequestTarget target)
    {
      Double updatedValue = listItem.getModelObject().getPrice());
    }               
});

我想在更改时获得新的更新值,但我从模型中获得旧值。模型是否没有更新,它应该提供新的更新值。请让我知道,上面的代码有什么问题以及如何获得更新的值?

4

1 回答 1

0

您还应该重新渲染您的组件:)

 @Override
protected void onUpdate(AjaxRequestTarget target)
{
  Double updatedValue = listItem.getModelObject().getPrice());
  target.add(this.getComponent());
}  
于 2014-11-24T13:13:58.087 回答