在我的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");
}
});
}
}
}
});
}
}
答案 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");
}
});