jQuery拖放演示工作。现在如何使它成为可以提交的表格?

时间:2011-07-26 05:51:14

标签: jquery

This正是我想要的行为:将项目从列表拖到另一个列表。

现在,我想添加一个“提交”按钮,以便我可以在服务器端保存所选项目。

怎么做?

  • 创建一个隐藏的表单,并使用我在页面中编写的after_drop_action方法更新输入值。
  • AJAX-在每个after_drop_action调用服务器(除非绝对必要,否则我宁愿避免使用它)
  • 别的什么?通常的做法是什么?这是基本的,但我没有使用jQuery的经验。

3 个答案:

答案 0 :(得分:0)

每个drop上都不是AJAX,但您可以使用AJAX单击提交按钮将所有更改发送到服务器。

答案 1 :(得分:0)

例如,如果您的三个拖放容器中的一个容器的ID为“container1”,并且您有一个ID为“submit”的按钮

HTML:

<input type="button" id="submit" value="Let's go" />

使用Javascript:

$("#submit").click(function() {
     var container1 = $("#container1").children().map(function(index, element) {
       return $(element).text();
     });

//Now you can send that to the server, or display a list of selected items on the screen..

        alert("Container1 has the elements " + container1.join(', ') + " in it");
    // getJSON is one of the many ways of sending stuff back to your server using jquery facilities described at http://api.jquery.com/category/ajax/
        $.getJSON("your/url", {"selectedItems": container1.join(', ')}, function(response) {});
});

使用您提供的URL,将container1映射到最左侧的容器,您将获得类似

的内容

Container1的元素为Item1,Item 2,Item 3,... Item 6。

答案 2 :(得分:0)

到目前为止,所有建议都使用AJAX,但仅仅使用隐藏输入并在使用拖放时更新其值不是更好吗?

他们将与表格一起提交,消除了许多麻烦。