Tho*_*son 6 php mysql jquery 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>
<p class="array cap"></p>
Run Code Online (Sandbox Code Playgroud)
从这些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>
Run Code Online (Sandbox Code Playgroud)
通过这个JavaScript(减少到所需的代码)
<script type="text/javascript">
$(function() {
$(".droppable").droppable({
activeClass: 'dragactive',
hoverClass: 'drophover',
drop: function(event, ui) {
$(".array").append(ui.draggable.children("span").text() + ', ')
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
我需要根据第二课将被删除的项目放入正确的p.array中.现在,.droppable的结果被附加到EVERY数组类.
这是可拖动玩家加价的一个例子:
<div class="drakt spiller draggable">
<span style="visibility: hidden;">58</span>
<div class="draktnummer">17</div><p>Traoré</p>
</div>
Run Code Online (Sandbox Code Playgroud)
希望你能帮助我.
提前致谢.
像这样的事情可能会起作用:
drop: function(event, ui) {
// clz might need trimming
var clz = $(this)[0].className.replace("droppable", "");
$(".array." + clz).append(ui.draggable.children("span").text())
}
Run Code Online (Sandbox Code Playgroud)
另一个想法是使用数据属性。如果您可以更改 PHP 来生成如下所示的 HTML:
<div class="droppable goals" data-droptype="goals"><p></p></div>
Run Code Online (Sandbox Code Playgroud)
...这会在 div 上设置一个可通过 jQuery 的.data方法访问的属性。那么上面的函数就变成了:
drop: function(event, ui) {
$(".array." + $(this).data('droptype')).append(ui.draggable.children("span").text())
}
Run Code Online (Sandbox Code Playgroud)