Php jQueryUI-.append from.droppable放入p.array(差不多了!)
该站点正在使用.draggable和.droppable UI从span标记中附加玩家ID。这一点附在以下段落中:Php jQueryUI-.append from.droppable放入p.array(差不多了!),php,jquery,mysql,jquery-ui,Php,Jquery,Mysql,Jquery Ui,该站点正在使用.draggable和.droppable UI从span标记中附加玩家ID。这一点附在以下段落中: <p class="array goals"></p> <p class="array assist"></p> <p class="array yellow"></p> <p class="array red">
<p class="array goals"></p>
<p class="array assist"></p>
<p class="array yellow"></p>
<p class="array red"></p>
<p class="array cap"></p>
来自这些div
<h2>DROP PLAYERS INTO AREAS BELOW</h2>
<p>Goals</p>
<div class="droppable goals"><p></p></div>
<p>Assists</p>
<div class="droppable assist"><p></p></div>
<p>Yellow card</p>
<div class="droppable yellow"><p></p></div>
<p>Red card</p>
<div class="droppable red"><p></p></div>
<p>Captain</p>
<div class="droppable cap"><p></p></div>
将玩家放到下面的区域中
目标
协助
黄牌
红牌
船长
通过此javascript(简化为所需代码)
$(函数(){
$(“.droppable”).droppable({
activeClass:“dragactive”,
hoverClass:“drophover”,
drop:函数(事件、用户界面){
$(“.array”).append(ui.draggable.children(“span”).text()
}
});
});
我需要根据第二个类将丢弃的项目放入正确的p.array。现在,将.droppable的结果追加到每个数组类
这是一个可拖动玩家的加价示例:
<div class="drakt spiller draggable">
<span style="visibility: hidden;">58</span>
<div class="draktnummer">17</div><p>Traoré</p>
</div>
58
17Traoré
希望你能帮我解决这个问题。
提前感谢。类似的方法可能会奏效:
drop: function(event, ui) {
// clz might need trimming
var clz = $(this)[0].className.replace("droppable", "");
$(".array." + clz).append(ui.draggable.children("span").text())
}
另一个想法是使用数据属性。如果可以更改PHP以生成如下所示的HTML:
<div class="droppable goals" data-droptype="goals"><p></p></div>
我不确定这段代码的意思
$(this).find('p')
$(".array").append(ui.draggable.children("span").text())
尝试更改为:
$(this).find('p.array').append(ui.draggable.children("span").text())
编辑:我想我知道你现在需要什么了。之前没有仔细阅读。您需要的是在第二个代码块中的相应div中删除文本后,将这些文本从draggable中的s追加到第一个代码块中的段落,对吗
如果是这样,您可以将自己的属性添加到draggables中,比如“myattr”。如果这是可拖动的:
<div id="mydrag" myattr="goals" class="draggable"><span>text to append</span></div>
我昨天刚开始尝试jQuery。你的代码还没有达到目的。有没有可能像PHP中的IF/ELSE语句那样实现这一点?首先,找到长方体的类,然后将其添加到匹配的.array类中?我真的很抱歉,但我没有jQuery知识来查找代码中的错误。:)谢谢你的回答,Hersheezy。我发现我可以跳过整个代码“$(this).find”。第一篇文章更新了。实际上我更喜欢sje397的解决方案。使用数据功能更简洁。您的回答非常感谢。我的逻辑是这行不通。可以将拖动项添加到任何字段中。也许这个逻辑可以用在下拉列表中?sje397正在做类似的事情在我看来,这更有可能奏效。我肯定会玩一下你的代码,看看这是否是我正在寻找的。您可以在我的第一篇文章中看到所有DragTables的标记。球衣号码和球员ID将从查询中回显。
$(this).find('p.array').append(ui.draggable.children("span").text())
<div id="mydrag" myattr="goals" class="draggable"><span>text to append</span></div>
drop: function(event, ui) {
var myattrVal = ui.draggable.attr('myattr');
//Finds the p with the class goals from if the div above was the draggable
$('p.' + myattrVal).append(ui.draggable.find('span').text() + ',');
}