脚本不能用于“if”中的不同位数

时间:2013-01-12 11:51:09

标签: jquery-ui jquery draggable jquery-ui-sortable

我正在使用jquery-ui来组织div并将更改保存在服务器上。

为此,我从直接参与的2个div中读取了一些信息,并通过ajax在另一页中通过帖子发送。

所以,我有一个代码,在拖动更新dom之后,读取div的attr“pos”和它后面的div。 如果第一个的attr“pos”是>第二个,它触发了这个脚本。

if (ui.item.attr('pos') > ui.item.next().attr('pos'))
        {
            $.ajax({
            type: "POST",
            url: "muovi.php",
            data: { in:ui.item.attr('ids'), pos1:ui.item.attr('pos'), out:ui.item.next().attr('ids'), pos2:ui.item.next().attr('pos')},
            success: function(response){

                $.ajax({
                  url: "",
                  context: document.body,
                  success: function(s,x){      ( -> Reload the page )
                  $(this).html(s);
                  }
                });

                $(".overlay").css("visibility","hidden"); (-> to understand if something went wrong)
                }
        });
    }

问题是,如果我有像这样的div:

[...]
<div class="game" pos="7" ids="something">
<div class="game" pos="8" ids="something else">
<div class="game" pos="9" ids="~">
<div class="game" pos="10" ids="~">
<div class="game" pos="11" ids="~">
[...]

如果我在pos 1-9的div上移动一个div为1-9的div我没有错误,如果在10-99位置的div则相同。 但是,如果我尝试将10-99 div移回div 1-9,则该脚本似乎不起作用。

所以,如果有不同的数字,我有这个问题。这是否可以在不编辑“pos”字段的情况下解析? 问题清楚了吗?我应该添加更多信息吗?

1 个答案:

答案 0 :(得分:1)

在执行与parseInt的比较之前,您需要将字符串转换为数字:

if (parseInt(ui.item.attr('pos')) > parseInt(ui.item.next().attr('pos')))