Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Wicket向导下拉列表modelValue将不会更新_Java_Wicket - Fatal编程技术网

Java Wicket向导下拉列表modelValue将不会更新

Java Wicket向导下拉列表modelValue将不会更新,java,wicket,Java,Wicket,我正在创建一个包含定价服务列表的ListView。每个定价服务都有一个不同条款的列表,这是一个下拉选择。问题是,当我在dropdownlist中选择各种值时,Term的值不会得到更新。这是一个向导,因此我试图在单击“下一步”之前用正确的术语更新向导(向导对象有一个ProductOrder对象,它有一个术语对象) 谢谢, 泰耶 公共服务选择步骤(最终新闻订阅向导){ 最终ListView服务ChoiceList=新建ListView( “服务列表”, wizard.getCompanyPriceM

我正在创建一个包含定价服务列表的ListView。每个定价服务都有一个不同条款的列表,这是一个下拉选择。问题是,当我在dropdownlist中选择各种值时,Term的值不会得到更新。这是一个向导,因此我试图在单击“下一步”之前用正确的术语更新向导(向导对象有一个ProductOrder对象,它有一个术语对象)

谢谢, 泰耶

公共服务选择步骤(最终新闻订阅向导){ 最终ListView服务ChoiceList=新建ListView( “服务列表”, wizard.getCompanyPriceModel().getPricedServices()){ 受保护的void populateItem(列表项){ 最终价格服务=item.getModel().getObject(); //将标签添加到列表中。 addPricedServiceLabels(项目、服务); DropDownChoice termsDropDown=新的DropDownChoice( “期限”, 新属性模型(wizard.getProductOrder(),“术语”), service.getTerms(), 新挑选者(“描述”); 项目。添加(术语下拉列表); } }; 添加(服务选择列表); }
您可以使用AJAX回调来实现这一点。检查Wicket示例上的“下拉选择示例”


是向您展示如何使用正确型号执行此操作的重要文件。

尝试在AjaxFormComponentUpdateingBehavior中针对术语下拉菜单

termsDropDown.add(new AjaxFormComponentUpdatingBehavior("onchange") {

            @Override
            protected void onUpdate(AjaxRequestTarget target) {

                wizard.getProductOrder().setService(service);
                System.out.println("Chosen term: " + wizard.getProductOrder().getTerm());

                target.addComponent(termsDropDown); 

            }
        });
        item.add(termsDropDown);
termsDropDown.add(new AjaxFormComponentUpdatingBehavior("onchange") {

            @Override
            protected void onUpdate(AjaxRequestTarget target) {

                wizard.getProductOrder().setService(service);
                System.out.println("Chosen term: " + wizard.getProductOrder().getTerm());

                target.addComponent(termsDropDown); 

            }
        });
        item.add(termsDropDown);