Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jQueryUI-.append from.droppable放入p.array(差不多了!)_Php_Jquery_Mysql_Jquery Ui - Fatal编程技术网

Php jQueryUI-.append from.droppable放入p.array(差不多了!)

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">

该站点正在使用.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>

来自这些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() + ',');
}