如果条件匹配,jQuery可排序并发出警报

时间:2013-07-20 02:58:45

标签: jquery if-statement

我想在列表按特定顺序排序时发出警告。

这是HTML:

<div class="listHolder">
   <div class="order-1">item1</div>
   <div class="order-2">item2</div>
   <div class="order-3">item3</div>
</div>

jQuery:

   $(".listHolder").sortable({
       axis: 'y',//constrains vertical movement
       update: function () { //triggered when sorting stopped

        var dataAuto = $(".listHolder").sortable("serialize", {
            key: " za",
            attribute: "class",
        });

        if (dataAuto == "za=3&za=2&za=1"||"za=2&za=1&za=3") {
            alert(dataAuto);
        }

     },
   });

目前,if语句有问题。 dataAuto变量保存serialize值,我希望警报显示列表是否排序为3-2-1或2-1-3,并且应该匹配字符串{{1 }}

如果删除if语句,您将在警告中看到字符串

"za=3&za=2&za=1"||"za=2&za=1&za=3"

请点击此处的小提琴示例:http://jsfiddle.net/YSF7q/8/

1 个答案:

答案 0 :(得分:1)

有两个问题

  1. 密钥za
  2. 中的空格
  3. 你的if条件第二部分是一个常量字符串"za=2&za=1&za=3",这将是真正的
  4. 应该是

    $(".listHolder").sortable({
        axis: 'y',//constrains vertical movement
        update: function () { //triggered when sorting stopped
            var dataAuto = $(".listHolder").sortable("serialize", {
                key: "za",
                attribute: "class",
            });
    
            if (dataAuto == "za=3&za=2&za=1" || dataAuto == "za=2&za=1&za=3") {
                alert(dataAuto);
            }
        }
    });
    

    演示:Fiddle