javascript - 排序输入框向上/向下移动仅适用于第一组按钮

标签 javascript jquery jquery-ui

我已经合并了最后两个演示,现在出现了冲突。

这是我的 2 个演示

  1. 添加多个输入框 DEMO

  2. 向上/向下排序 - DEMO

<强> Merged demo

如果您查看合并的演示,排序选项仅适用于第一个输入框。这意味着您只能向上和向下移动第一个文本框,相应文本框的其他向上/向下按钮根本不起作用。

我需要它作为向上/向下排序演示,所有按钮都应该用于向上或向下移动相应的输入框。

提前致谢!!

代码

$(document).ready(function(){

     $(":radio").click(function(){
         $(".test").hide();
         var show = $(this).attr("data-show");
         $("#"+show).show(300)
     });

        $filtr = $('.filtr');

        $filtr.on('click', '.add', function(){
            $(this).closest('.loop').clone().appendTo( $(this).closest('.test') );
        });

        $filtr.on('click', '.del', function(){
           $(this).closest('.loop').remove();
        });

        $('#1lev, #2lev, #3lev').hide();

     //For sort up/down
     function moveUp(item) {
    var prev = item.prev();
    if (prev.length == 0)
        return;
    prev.css('z-index', 999).css('position','relative').animate({ top: item.height() }, 250);
    item.css('z-index', 1000).css('position', 'relative').animate({ top: '-' + prev.height() }, 300, function () {
        prev.css('z-index', '').css('top', '').css('position', '');
        item.css('z-index', '').css('top', '').css('position', '');
        item.insertBefore(prev);
    });
}
function moveDown(item) {
    var next = item.next();
    if (next.length == 0)
        return;
    next.css('z-index', 999).css('position', 'relative').animate({ top: '-' + item.height() }, 250);
    item.css('z-index', 1000).css('position', 'relative').animate({ top: next.height() }, 300, function () {
        next.css('z-index', '').css('top', '').css('position', '');
        item.css('z-index', '').css('top', '').css('position', '');
        item.insertAfter(next);
    });
}

$(".filtr").sortable({ items: ".loop", distance: 10 });
$('button').click(function() { 
    var btn = $(this);
    var val = btn.val();
    if (val == 'up')
        moveUp(btn.parents('.loop'));
    else
        moveDown(btn.parents('.loop'));
});

});

最佳答案

请查看http://jsfiddle.net/VMBtC/7/

我只修改了一行

$(document).on("click", "button", function() {

这是您的要求吗?让我知道您的意见。

关于javascript - 排序输入框向上/向下移动仅适用于第一组按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17042688/

相关文章:

javascript - 如何从 CDN 将脚本放入 WordPress 队列?

jquery - 显示表格内容的 <a> 链接的显示/隐藏类函数

javascript - 从 django 将字符串分配给 JavaScript var

javascript - 具有透明度的重叠网格

javascript - 如何创建CAF接收器?

javascript - async/await 会阻塞事件循环吗?

javascript - jquery 在 jquery ui 自动完成上捕获点击事件

jQuery UI 对话框按钮文本作为变量

jquery sortable - 只允许在目标 li 中删除最后一项

jQuery Draggable() 和键盘控制