使复选框不可单击或将其从行中删除

时间:2019-04-24 06:45:29

标签: javascript c# ajax asp.net-mvc drag-and-drop

在我的网格中,我有一个名为“被动”的复选框。单击它时,将其删除。但是在网格上有一个可以从导航栏中拖放内容的地方。我想要的是当有人将其拖放到该行时,应删除该行的复选框(或者可能不可单击)。

TLDR:发生拖放时,请使复选框不可单击/从行中删除复选框。

这是用于添加复选框

if (Model.IsAdmin){
  c.Add().Titled("Passive").Encoded(false).Sanitized(false).SetWidth(30).RenderValueAs(p => Html.CheckBox("checkedz", (int)p.Status == 2 ? true : false, new { @class = "removerow", data = p.Id }));
}

拖动->

function drag(ev) {
  //console.log($(ev.target));
  ev.dataTransfer.setData("maker", $(ev.target).children().eq(0).val());
  ev.dataTransfer.setData("makerDiv", $(ev.target).html());
  ev.dataTransfer.setData("divclass", $(ev.target).attr('class'));
}

function drop(ev) {
  ev.preventDefault();
  var data = ev.dataTransfer.getData("maker");
  var div = ev.dataTransfer.getData("makerDiv");
  var divclass = ev.dataTransfer.getData("divclass");
  var requestedid = $(ev.target).children().eq(0).val();
  var dataRow = {
    requestId: requestedid,
    makerId: data
  }
  console.log(dataRow);
  $.ajax({
    url: '@Url.Action("_Sel##tMa#####","Re#####" ,new { Area="Op###"})',
    type: 'Post',
    data: dataRow,
    success: function(res) {
      waitingDialog.hide();
      if (res.Data) {

        var hidden = $(ev.target).parents().eq(1).children().eq(2).find('input');

        if (hidden.length > 0) {
          var id = $(hidden).attr('name');
          $('input[name="' + id + '"]').each(function() {
            $(this).parents().eq(1).children().eq(11).html('<span class="action-buttons btn btn-warning">' + div + '<span contenteditable="false" class="badge badge-danger" style="margin-left:10px;cursor:pointer;" onclick="ClearMaker(this,\'' + requestedid + '\')" >x</span></span>')
          });
        } else {

          $(ev.target).parents().eq(0).html('<span class="action-buttons btn btn-warning">' + div + '<span contenteditable="false" class="badge badge-danger" style="margin-left:10px;cursor:pointer;" onclick="ClearMaker(this,\'' + requestedid + '\')" >x</span></span>');

        }
        // location.reload();
      } else {
        AlertBox("none is selected.");
      }
    }
  })
}

0 个答案:

没有答案