Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.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
Javascript 数据以未定义的形式返回_Javascript_Jquery Ui Sortable_Children - Fatal编程技术网

Javascript 数据以未定义的形式返回

Javascript 数据以未定义的形式返回,javascript,jquery-ui-sortable,children,Javascript,Jquery Ui Sortable,Children,我有一个可排序的函数,我希望能够将用户添加到组中。当我将用户从用户表拖到组表时,我希望能够检查该ID是否已经存在于组表中,如果已经存在,我希望以错误消息响应。然而,当我尝试循环trou并从组表中获取ID时,我得到了一个未定义的值 HTML代码: <div class="userContainer"> <div id="userDiv"> <ul class="userList dragable" ></ul> <

我有一个可排序的函数,我希望能够将用户添加到组中。当我将用户从用户表拖到组表时,我希望能够检查该ID是否已经存在于组表中,如果已经存在,我希望以错误消息响应。然而,当我尝试循环trou并从组表中获取ID时,我得到了一个未定义的值

HTML代码:

<div class="userContainer">
    <div id="userDiv">
        <ul class="userList dragable" ></ul>
    </div>

    <div id="groupDiv">
        <select id="DropDown"></select>
        <input id="btnGetGroups" class="btn btn-success" type="button"
               value="Hämta grupper" />
        <select id="DropDownGroups"></select>
        <input id="btnShowGroups" class="btn btn-success" type="button"
               value="Visa grupp" />
        <ul class="usersOfGroupList dragable"></ul>
    </div>
</div>

      以下是用当前用户填充组表的代码:

      $('btnShowGroups')。单击(函数(){
      var e=document.getElementById(“DropDownGroups”);
      groupId=e.options[e.selectedIndex]。值;
      $('.usersOfGroupList').empty();
      $.getJSON(“MyLinkGoesher”+groupId+”,函数(结果){
      $。每个(结果、函数(i、值){
      $('.usersOfGroupList').append($(“
    • 如您所见,我在这里使用“userId”作为数据属性的键

      可排序代码如下所示:

      $(“.dragable”)。可排序({
      连接到:“.usersOfGroupList”,
      删除:功能(e、ui){
      var$this=$(this);
      var childs=$this.find('li');
      if(childs.length==0){
      $this.text(“无”);
      }
      },
      接收:功能(e、ui){
      var数组=[];
      var$this=$(this);
      var children=$this.find('li');
      对于(变量i=0;i
      在receive属性中,我试图通过循环所有li元素来获取当前用户ID,然后将ID推送到数组中,但它只会返回未定义的。我已经调试,并且li元素在那里,但它会给我以下错误消息:

      未捕获类型错误:无法读取未定义的属性“数据”
      在HtmlListElement.receive

      子项[i]。项
      未定义…我看到您使用了奇怪的循环,do
      $this.find('li')。each(函数(i){array.push($(this).data('userId');});
      -我们在中看到,建议jQuery集合对jQuery对象进行
      迭代,为每个匹配的元素执行一个函数。
      @skobaljic您就是那个人,谢谢。
      $('#btnShowGroups').click(function () {
              var e = document.getElementById("DropDownGroups");
              groupId = e.options[e.selectedIndex].value;
              $('.usersOfGroupList').empty();
      
              $.getJSON("mylinkgoeshere" + groupId + "", function (result) {
                  $.each(result, function (i, value) {
                      $('.usersOfGroupList').append($("<li id='userElement' data-userId='' ></li>").data('userId', value.Id).html(value.FirstName + " " + value.LastName));
                      $(".usersOfGroupList").addClass("addBorder");
                  });
              });
          });
      
       $(".dragable").sortable({
                  connectWith: ".usersOfGroupList",
                  remove: function (e, ui) {
                      var $this = $(this);
                      var childs = $this.find('li');
                      if (childs.length === 0) {
                          $this.text("Nothing");
                      }
                  },
                  receive: function (e, ui) {
                      var array = [];
                      var $this = $(this);
                      var children = $this.find('li');
                      for (var i = 0; i < children.length; i++) {
                          var specificId = children[i].item.data('userId');
                          array.push(specificId);
                          console.log(array);
                      };