Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/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中的jQuery主体更改_Java_Jquery_Twitter Bootstrap_Wicket - Fatal编程技术网

Java 接收Wicket中的jQuery主体更改

Java 接收Wicket中的jQuery主体更改,java,jquery,twitter-bootstrap,wicket,Java,Jquery,Twitter Bootstrap,Wicket,我这里有一个关于Wicket和jQuery的问题。我得到了一个由Wicket呈现和显示的网页。在这个页面中,我得到了一个“可拖动”和一个“可拖放”组件,用户应该能够在其中移动组件。这是通过jQuery实现的。此外,我在网页的末尾有一个“保存”按钮,它应该保存新的值(如果有),这意味着:新删除的项目。但是如果我点击“保存”,我看不到Wicket中新放置的对象,我仍然只看到从一开始就在“可放置”区域中的对象。下面是一些代码片段: HTML: 贝努策 贝努策项目 Benutzer 在迪塞斯费

我这里有一个关于Wicket和jQuery的问题。我得到了一个由Wicket呈现和显示的网页。在这个页面中,我得到了一个“可拖动”和一个“可拖放”组件,用户应该能够在其中移动组件。这是通过jQuery实现的。此外,我在网页的末尾有一个“保存”按钮,它应该保存新的值(如果有),这意味着:新删除的项目。但是如果我点击“保存”,我看不到Wicket中新放置的对象,我仍然只看到从一开始就在“可放置”区域中的对象。下面是一些代码片段:

HTML:


贝努策
贝努策项目
    Benutzer 在迪塞斯费尔德·齐亨
斯皮切恩 $(函数(){ $(“#用户列表li”).draggable({ 附:“身体”, 助手:“克隆” }); $(“#ul项目”) .dropable( { activeClass:“ui状态默认值”, hoverClass:“ui状态悬停”, 接受:“:非(.ui可排序帮助程序)”, drop:函数(事件、用户界面){ $(this.find(“.placeholder”).remove(); var userName=ui.draggable.find(“#user”).text(); var userId=ui.draggable.find(“#userId”).text(); $(“
  • “+userName+”“+userId+”
  • ”) .附于(本); $(ui.draggable).remove(); } }).可排序({ 项目:“li:非(.占位符)”, 排序:函数(){ //通过Dropable与sortable交互意外添加 //使用connectWithSortable修复了这一问题,但不允许您自定义活动/悬停类选项 $(this.removeClass(“ui状态默认”); } }); $(“#userNameSearch”) 凯普先生( 函数(){ var valThis=$(this.val().toLowerCase(); 如果(valThis==“”){ $('#userList li').show(); }否则{ $(“#用户列表li”) .每个( 函数(){ 变量文本=$(此) .text() .toLowerCase(); (text.indexOf(valThis)>=0)$( 这个) :$(本) .hide(); }); } ; }); });
    Java代码(Wicket):

    ListView userListView=新建ListView(“用户列表”,最终列表){
    受保护的void populateItem(列表项){
    User=(User)item.getModelObject();
    添加(新标签(“user”,user.getLastname()+,“+user.getFirstname()));
    添加(新标签(“userId”,user.getId());
    }
    };
    ListView usersInProjectListView=新建ListView(“usersInProjectList”,usersInProjectList){
    受保护的void populateItem(列表项){
    User=(User)item.getModelObject();
    添加(新标签(“userInProject”,user.getLastname()+,“+user.getFirstname()));
    添加(新标签(“userinprojectd”,user.getId());
    }
    };
    usersInProjectListView.setOutputMarkupId(true);
    添加(新AjaxLink(“保存”)
    {
    @凌驾
    公共void onClick(AjaxRequestTarget目标)
    {
    System.out.println(target.getPage().get(“usersInProjectList”);
    //窗口关闭(目标);
    }
    });     
    添加(userListView);
    添加(usersInProjectListView);
    
    您可以通过某种方式将更改从客户端发送到服务器,例如使用Ajax。您可以通过
    AbstractAjaxBehavior
    (请参阅详细信息)启动回调函数,也可以切换到,谢谢您的回答。下一次我将尝试一下,我将进一步开发该代码,并在这里发布我的经验。
    <div class="container">
        <div id="user">
            <h1 class="ui-widget-header">Benutzer</h1>
            <div class="ui-widget-content" id="userList">
                <input type="text" placeholder="Benutzername" id="userNameSearch" />
                <ul class="list-group">
                    <li class="list-group-item" wicket:id="userList"><span
                        wicket:id="user" id="user"></span><span style="visibility: hidden;" wicket:id="userId" id="userId"></span></li>
                </ul>
            </div>
        </div>
    
        <div id="project">
            <h1 class="ui-widget-header">Benutzer im Projekt</h1>
            <div class="ui-widget-content" id="project">
                <ul class="list-group">
                    <li class="placeholder list-group-item"><span>Benutzer
                            in dieses Feld ziehen.</span></li>
                    <li class="list-group-item" wicket:id="usersInProjectList"><span
                        wicket:id="userInProject"></span><span style="visibility: hidden;" wicket:id="userInProjectId"></span></li>
                </ul>
            </div>
        </div>
        <button id="save" wicket:id="save">Speichern</button>
    </div>
    <script>
        $(function() {
            $("#userList li").draggable({
                appendTo : "body",
                helper : "clone"
            });
            $("#project ul")
                    .droppable(
                            {
                                activeClass : "ui-state-default",
                                hoverClass : "ui-state-hover",
                                accept : ":not(.ui-sortable-helper)",
                                drop : function(event, ui) {
                                    $(this).find(".placeholder").remove();
                                    var userName = ui.draggable.find("#user").text();
                                    var userId = ui.draggable.find("#userId").text();
                                    $("<li class=\"list-group-item new-project-member\" wicket:id=\"usersInProjectList\"><span wicket:id=\"userInProject\">"+userName+"</span><span style=\"visibility:hidden;\" wicket:id=\"userInProjectId\">"+userId+"</span></li>")
                                            .appendTo(this);
                                    $(ui.draggable).remove();
                                }
                            }).sortable({
                        items : "li:not(.placeholder)",
                        sort : function() {
                            // gets added unintentionally by droppable interacting with sortable
                            // using connectWithSortable fixes this, but doesn't allow you to customize active/hoverClass options
                            $(this).removeClass("ui-state-default");
                        }
                    });
    
            $('#userNameSearch')
                    .keyup(
                            function() {
                                var valThis = $(this).val().toLowerCase();
                                if (valThis == "") {
                                    $('#userList li').show();
                                } else {
                                    $('#userList li')
                                            .each(
                                                    function() {
                                                        var text = $(this)
                                                                .text()
                                                                .toLowerCase();
                                                        (text.indexOf(valThis) >= 0) ? $(
                                                                this).show()
                                                                : $(this)
                                                                        .hide();
                                                    });
                                }
                                ;
                            });
        });
    </script>
    
        ListView userListView = new ListView("userList", finalUserList) {
            protected void populateItem(ListItem item) {
                User user = (User) item.getModelObject();
                item.add(new Label("user", user.getLastname()+", "+user.getFirstname()));
                item.add(new Label("userId", user.getId()));
            }
        };
    
        ListView usersInProjectListView = new ListView("usersInProjectList", usersInProjectList) {
            protected void populateItem(ListItem item) {
                User user = (User) item.getModelObject();
                item.add(new Label("userInProject", user.getLastname()+", "+user.getFirstname()));
                item.add(new Label("userInProjectId", user.getId()));
            }
        };
        usersInProjectListView.setOutputMarkupId(true);
    
        add(new AjaxLink<Void>("save")
                {
                    @Override
                    public void onClick(AjaxRequestTarget target)
                    {
                        System.out.println(target.getPage().get("usersInProjectList"));
                        //window.close(target);
                    }
                });     
        add(userListView);
        add(usersInProjectListView);