我写了一个利用jquery draggable的页面。它实际上有大约160个div元素可以在页面上拖动,为即将到来的节日分配“摊位”。为了处理这么多元素,我有一个包含4列的小型数据库表,分别是ID,LEFT,TOP和DETAILS每个Div都有id =“ID”,而Content =“Details”生成的160多行中的前2行通过PHP和SQL看起来像
div class="drag" id="1" style="left: 10px; top: 10px;">FS01<ul><li class="posX"><li class="posY">div>
div class="drag" id="2" style="left: 60px; top: 10px;">FS01<ul><li class="posX"><li class="posY">div>
拖动元素后,我使用以下Javascript找到新的位置
drag: function(){
var offset = $(this).offset();
var xPos = offset.left;
var yPos = offset.top;
//var zID = " <?php echo $id ?> "; //This is what I want to do
$('.posX', this).text('x: ' + xPos);
$('.posY', this).text('y: ' + yPos);
}
我不能做的事情(以及Javascript人员可以在几秒钟内完成此操作)是获取ID并将其转换为Jquery变量(让我们称之为zID)。使用新的ID,LEFT和TOP,我可以将它们反馈到更新的PHP文件中,以使新的位置持久。我有数据库,PHP,HTML,Jquery运行可拖动和检索“新”位置(xPos和yPos)和PHP / SQL将它们返回到数据库,但我不能做的是绑定位置到ID ...帮助请!!
谢谢大家,我已经尝试了$(this).attr('id'),但我做了答案建议并且最后没有包含一个半冒号。这样一个基本错误。一切都好...所有工作的gri2a
对于其他读者,我应该包括完整的答案 -
drag: function(){
var offset = $(this).offset();
var xPos = offset.left;
var yPos = offset.top;
var zId = $(this).attr('id');//my new variable
$('.posX', this).text('x: ' + xPos);
$('.posY', this).text('y: ' + yPos);
$('.Id', this).text('z: ' + zId);//text to display zId
}