我有一张桌子,我可以通过bardcode扫描仪插入数据。目标是忽略表中已存在的数据,否则继续添加行。
我的JS功能:
$(document).on('keypress', '#receiving-box-table tr:last-child td:first-child input[name^="retrieve_courier_tracking_no[]"]', function(e){
var retrieve_checker = true;
get_last_id();
if (e.keyCode == 13) {
var seen = {};
$('#receiving-box-table input[name^="retrieve_courier_tracking_no[]"]').each(function() {
var txt = $(this).val();
alert(txt);
if (seen[txt]){
$(this).val('');
retrieve_checker = false;
return false;
} else{
seen[txt] = true;
retrieve_checker = true;
return true;
}
});
if(retrieve_checker == true){
$('#receiving-box-table tbody').append(new_row);
$(this).closest('tr').next().find('input.track_no').focus();
var new_val = parseInt($('#retrieve_box_qty').val()) + 1;
$('#retrieve_box_qty').val(new_val);
$('#'+another_lel).val(new_val);
}
}
});
我的问题是:
但如果我稍微改变我的代码:
$(document).on('keypress', '#receiving-box-table tr:last-child td:first-child input[name^="retrieve_courier_tracking_no[]"]', function(e){
var retrieve_checker = true;
get_last_id();
if (e.keyCode == 13) {
var seen = {};
$('#receiving-box-table input[name^="retrieve_courier_tracking_no[]"]').each(function() {
var txt = $(this).val();
if (seen[txt]){
$(this).val('');
retrieve_checker = false;
return false;
} else{
seen[txt] = true;
retrieve_checker = true;
return true;
}
});
//if(retrieve_checker == true){
$('#receiving-box-table tbody').append(new_row);
$(this).closest('tr').next().find('input.track_no').focus();
var new_val = parseInt($('#retrieve_box_qty').val()) + 1;
$('#retrieve_box_qty').val(new_val);
$('#'+another_lel).val(new_val);
//}
}
});
我的问题是:
我认为我的每个功能都有问题,但我不确定是什么。
更新信息
我有与它相同的功能和工作。但我无法使用它,因为触发我的新函数的按钮最初没有加载,因此我使用$(document).on...
我已经被困了几个小时,所以任何帮助都非常感谢。