我正在使用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”字段的情况下解析? 问题清楚了吗?我应该添加更多信息吗?
答案 0 :(得分:1)
在执行与parseInt
的比较之前,您需要将字符串转换为数字:
if (parseInt(ui.item.attr('pos')) > parseInt(ui.item.next().attr('pos')))