按钮会在每个项目的排序中重复出现?

时间:2014-02-07 21:40:14

标签: javascript jquery sorting

我正在对项目进行排序,并且我想在排序完成时显示更新按钮,当我尝试在拖放项目的时间内重复按钮时。

这是我的代码,我尝试过。

<ul id="sortable">
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
    <li>Item 4</li>
    <li>Item 5</li>
</ul>
<div align="center" id="sortOrder"></div>

<script>
    $(function(){
        $( "#sortable" ).sortable({
            placeholder:"sortable-placeholder",
            update: function( event, ui ) {
                 console.log($("#sortable").sortable("toArray",{attribute:"pageid"}));
            },
            stop: function(event, ui){
                 showButton();
            }
        });
        $("button").click(function(){
             var order = $("#sortable").sortable("toArray",{attribute:"pageid"});
             $.post(
                 "/page.cfc",
                 {method:"Ordering",data:order}
             );
        });
    });
    function showButton(){
        var field = '#sortOrder';
        $node = '<button type="submit">Update</button>';
        $(field).after($node);
    };
</script>

谁能告诉我这段代码有什么问题?感谢

1 个答案:

答案 0 :(得分:0)

showButton不断添加一个新的按钮元素,因此每次调用它时都会添加按钮。

您可能只想使用$('button').show().hide()