在javascript中如何rowNum获取?

时间:2019-07-08 08:07:10

标签: javascript

在我的javascript函数中。问题在这里

 $(document).undelegate().delegate('#qty'+rowNum,'keyup keydown mouseup', function(e)

当函数到达这一点时,该行不会添加和删除。我尝试了许多解决方案,但无法理解。

function get_qty_check_ajax(item) {

  var thisIs = $(item);

  console.log("------------------------------------------");
  product = thisIs.val();

  var rowNum = item.id.match(/\d+/);
  if (item.value == "None") {
    $('#qty' + rowNum).prop('disabled', true);
    $('#discount' + rowNum).prop('disabled', true);
  } else {
    $('#qty' + rowNum).prop('disabled', false);
    $('#discount' + rowNum).prop('disabled', false);
  }
  var purchase_type = $(item).find(':selected').attr('data-type');
  console.log(purchase_type);

  if (purchase_type == 'product') {
    $.ajax({
      'url': "{% url 'get_qty_check' %}",
      'type': "GET",
      'data': {
        "product": product
      },
      'async': false,
      'success': function(data) {
        if (data == "empty") {
          $('#amounts').html("");
          $('#amounts').append($('<option/>').attr("value", "None").text("--Select Wharehouse--").prop('selected', true).prop('disabled', true));
        } else {
          results = JSON.parse(data)
          for (var i = 0; i < results.items.length; i++) {
            var counter = results.items[i];
            var qty = counter.quantity;
            console.log(qty)
            $(document).undelegate().delegate('#qty' + rowNum, 'keyup keydown mouseup', function(e) {
              var totals = parseInt($(this).val());
              console.log(totals)
              if (totals > qty) {
                thisIs.parent().parent().parent().parent().find("#qty" + rowNum).val(qty);
                $('.maxQuantityMsg').show();
                $(this).addClass('maxQuantity').focus();
              } else {
                $('.maxQuantityMsg').show();
                $(this).removeClass("maxQuantity");
                $(this).attr("placeholder", "0");
              }
            });
          }
        }
      }
    });
  }
}

1 个答案:

答案 0 :(得分:1)

  

这是我的助手!试试这个

    $(document).on("input",'#qty'+rowNum,'keyup keydown mouseup',function() {

    var totals= parseInt($(this).val());

     if (totals > qty ) {



thisIs.parent().parent().parent().parent().find('#qty'+rowNum).val(qty);
    } else{
    $('.maxQuantityMsg').show();
     $(this).removeClass("maxQuantity");
    $(this).attr("placeholder", "0");
     }
        });