Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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
JQuery-这是非常新的_Jquery_Jquery Ui Droppable - Fatal编程技术网

JQuery-这是非常新的

JQuery-这是非常新的,jquery,jquery-ui-droppable,Jquery,Jquery Ui Droppable,我试图使用jQuery在两个网格之间执行拖放操作。数据记录在一个mysql表中。当拖放成功时,我希望更新表中被拖动记录的值。换句话说,我试图记录元素被丢弃到的单元格的id。不断获取“未定义”或NaN错误消息 以下是jquery代码:- $(document).ready(function() { $('#flights').html('Change List:<br/>'); // Set up change list div va

我试图使用
jQuery
在两个网格之间执行拖放操作。数据记录在一个
mysql表中
。当拖放成功时,我希望更新表中被拖动记录的值。换句话说,我试图记录元素被丢弃到的单元格的id。不断获取“未定义”或
NaN
错误消息

以下是jquery代码:-

        $(document).ready(function() {
            $('#flights').html('Change List:<br/>'); // Set up change list div


    var sourceColIndex;
    var allowedClassArr = ['Instr','Capt','First']; 

      $('#tblSim td span').hover(function(){
                    $(this).css("background-color", "lightgreen");
                        }, function(){
                    $(this).css("background-color", "white");
      });

      $('#tblSim td span').draggable({
        revert: "invalid",
        zIndex: 100,
        start: function(event, ui) {

          var foo = $(ui.helper).parent(); // should return td

          sourceColIndex = foo.index();  //this is the column number



          $(ui.helper).css({
            padding: "2.5px 5px",
            border: "1px solid #ddd",
            background: "yellow"
          });

        }
      });      


      $('#tblSimBooking tr td').droppable({
        accept: "#tblSim td span",
        activeClass: "ui-state-highlight",

        drop: function(ev, ui) {

            //pick up the crew member details and date
            var itemid = ui.draggable.attr('emplid');
            var itemid1 = ui.draggable.attr('emplast');
            var itemid2 = ui.draggable.attr('rdate');
            //optional alert to help confirm
            alert ("Scheduling " + itemid + " " + itemid1 + " On " + itemid2);

              var $draggable = $(ui.draggable);

              var draggableClass = $draggable.attr('class'),

              draggableClass = draggableClass.split(' ');

              var $targetTD = $(ev.target); // should return td
              console.log($targetTD);
              var targetColInd = $targetTD.index();  
              console.log(targetColInd);


            var txt;
            var r = confirm("Confirm move for " + itemid1);
            if (r == true) {
                txt = "OK";
            } else {
                txt = "Cancel";
                $draggable.draggable('option', 'revert', true);
                return false;
            }               


          //no need to execute other codes if col index doesn't match[ supposed to match the dates]
          if(sourceColIndex != targetColInd) {
            $draggable.draggable('option', 'revert', true);
                return false;
          }
          var targetSpans =  $targetTD.find('span');


          //Check whether item is present, if present then revert, duplicate found.          
          var flag =false;
          $.each(targetSpans,function(i,v){
             if( $(this).hasClass(draggableClass[0])){
                 flag= true;
             }    
          });
          if(flag){
             //alert the user if necessary
                //alert('Duplicate '+draggableClass[0]+' found.');
                $draggable.draggable('option', 'revert', true);
                return false;
          }

         $(ui.draggable).detach().css({
              top: 'auto',
              left: 'auto',
              background: '#f3f3f3'
            }).appendTo(this);

      $.ajax({
         method: "POST",
         url: "update_sim_status.php",

        data:{'itemid': itemid,'itemid1': itemid1,'itemid2': itemid2}, 
      }).done(function( data ) {

            var result = $.parseJSON(data);
            //alert (result['success']);
            var itemstatus;
            if (result['success']==1) itemstatus = "OK";
            //display change log on page
            $('#flights').append(itemid+itemid1+itemid2+itemstatus+'<br/>');
       });


        }
      });
    });
$(文档).ready(函数(){
$('#flights').html('更改列表:
');//设置更改列表div var-sourceColIndex; var allowedClassArr=['Instr','Capt','First']; $('#tblSim td span')。悬停(函数(){ $(this.css(“背景色”、“浅绿色”); },函数(){ $(this.css(“背景色”、“白色”); }); $('tblSim td span')。可拖动({ 回复:“无效”, zIndex:100, 开始:功能(事件、用户界面){ var foo=$(ui.helper).parent();//应返回td sourceColIndex=foo.index();//这是列号 $(ui.helper).css({ 填充:“2.5px 5px”, 边框:“1px实心#ddd”, 背景:“黄色” }); } }); $('tblsimboking tr td')。可拖放({ 接受:“tblSim td span”, activeClass:“ui状态突出显示”, 下拉:功能(ev、ui){ //获取机组成员详细信息和日期 var itemid=ui.draggable.attr('emplid'); var itemid1=ui.draggable.attr('emplast'); var itemid2=ui.draggable.attr('rdate'); //用于帮助确认的可选警报 警报(“调度”+itemid+“”+itemid1+”在“+itemid2”上); 变量$draggable=$(ui.draggable); var draggableClass=$draggable.attr('class'), draggableClass=draggableClass.split(“”); var$targetd=$(ev.target);//应返回td console.log($targetTD); var targetColInd=$targetTD.index(); console.log(targetColInd); var-txt; var r=确认(“确认”+项目ID1的移动); 如果(r==true){ txt=“确定”; }否则{ txt=“取消”; $draggable.draggable('option','revert',true); 返回false; } //如果列索引不匹配[应该匹配日期],则无需执行其他代码 if(sourceColIndex!=targetColInd){ $draggable.draggable('option','revert',true); 返回false; } var targetspan=$targetTD.find('span'); //检查项目是否存在,如果存在,则恢复,发现重复项。 var标志=假; $。每个(目标跨度、函数(i、v){ if($(this).hasClass(DragableClass[0])){ flag=true; } }); 国际单项体育联合会(旗){ //必要时提醒用户 //警报('发现重复'+DragableClass[0]+'个'); $draggable.draggable('option','revert',true); 返回false; } $(ui.draggable).detach().css({ 顶部:“自动”, 左:“自动”, 背景:“#f3” }).附于(本); $.ajax({ 方法:“张贴”, url:“update_sim_status.php”, 数据:{'itemid':itemid,'itemid1':itemid1,'itemid2':itemid2}, }).完成(功能(数据){ var result=$.parseJSON(数据); //警报(结果['success']); var项目状态; 如果(结果['success']==1)itemstatus=“确定”; //在页面上显示更改日志 $(“#航班”).append(itemid+itemid1+itemid2+itemstatus+”
); }); } }); });
这是我们要放入的网格的HTML

    $simarray = array("400SIM-1","400SIM-2","400SIM-3","800SIM-1","800SIM-2","800SIM-3","800SIM-4","SAASIM-1","SAFSIM-1","SIMBLK");
for ($s=1; $s<=10; $s++) {
    echo '<tr><td>'.$simarray[$s];
    for ($d=1; $d<=20; $d++) {
            $date1 = date("M-d", strtotime($sd)+(($d-1)*86400));
            $date2 = date("Y-m-d", strtotime($sd)+(($d-1)*86400));
            echo '<td id5="xx"width="4%">';
            $q3r = mysqli_query($conn,'SELECT Roster_ID,Employee FROM roster WHERE Duty_ID LIKE "'.$simarray[$s].'" && Date="'.$date2.'" ');
            while ($r3r=  mysqli_fetch_array($q3r)) {
                echo $crewName[$r3r[1]].'<br/>';
            }
            echo '</td>';
    }
}
$simarray=阵列(“400SIM-1”、“400SIM-2”、“400SIM-3”、“800SIM-1”、“800SIM-2”、“800SIM-3”、“800SIM-4”、“SAASIM-1”、“SAFSIM-1”、“SIMBLK”);

对于($s=1;$s这里是您的关闭tr(
)?在PHP的第3行,它会打开一个
tr
和一个
td
,但我看不到它们在哪里关闭。谢谢David/tr没有添加任何更改