J'essaie d'activer l'événement keyup
sur un élément d'entrée, le problème est qu'il ne s'est pas déclenché une fois que j'appuie sur une touche, je dois faire un autre événement clé pour l'activer, ce qui n'est pas Ordinaire!La fonction de touche jQuery ne fonctionne pas correctement
Voici mon code:
$(".conv").keyup(function(){
var itemId = new Array();
$(".itemId").each(function() {
itemId.push($(this).text());
});
if (itemId.length == 0 || isEmpty($(this).val())) {
$(this).val('0.00');
return false;
}
if (!$.isNumeric($(this).val())) {
alert("Only numeric values are allowed in '" + $(this).parent().parent().find('th').text() + "' field.");
return false;
}
calcShipping();
});
J'ai essayé d'utiliser "sur" comme celui-ci, mais aussi ne fonctionne pas:
$('body').on("keyup", ".plus", function(){
var itemId = new Array();
$(".itemId").each(function() {
itemId.push($(this).text());
});
if (itemId.length == 0) {
$(this).val('0.00');
return false;
}
calcShipping();
});
Calculer la fonction de transport:
var calcShipping = function() {
if (isEmpty($(".totalCost2").text())) {
$(".totalCost2").text(parseInt($(".totalCost").text()));
}
var plus = 0;
var conv = parseInt($(".conv").val());
var tCost = parseInt($(".totalCost2").text());
var tQty = 0;
var tFinal = 0;
var tLast = 0;
var qty = 0;
var totalCost = 0;
var cost = new Array();
var qtyCost = new Array();
$("#txtItems2").attr('disabled','disabled');
$("#btnReset2").attr('disabled','disabled');
$("#uploadItems").attr('disabled','disabled');
$("#startUpload").attr('disabled','disabled');
$(".plus").each(function(){
if (isEmpty($(this).val())) {
$(this).val('0.00');
}
if (!$.isNumeric($(this).val())) {
alert("Only numeric values are allowed in '" + $(this).parent().parent().find('th').text() + "' field.");
return false;
}
plus += parseInt($(this).val());
});
$(".qty").each(function() {
qtyCost.push(parseInt($(this).text()));
tQty += parseInt($(this).text());
});
$(".cost").each(function() {
cost.push($(this).text());
});
tFinal = plus + tCost;
tLast = tFinal/tQty;
var qty = 0;
$(".cost").each(function(){
qty = parseInt($(this).parent().parent().find($(".qty")).text());
$(this).text(tLast * qty * conv);
qty = 0;
});
for (var i = 0; i < cost.length; i++)
{
totalCost += (cost[i] * qtyCost[i]);
}
$(".totalCost").text(totalCost.toFixed(2));
}
Tous conseille ?
Cela fonctionne bien pour moi: http://jsfiddle.net/8ukL69r3/ Bien sûr, la logique de l'événement ne fonctionne pas car il me manque d'autres parties de votre code, mais l'événement se déclenche comme il est censé le faire. – Anders
Je vois que ça marche normalement tout seul, mais pour mon morceau de code ce n'est pas le cas! – CairoCoder
Stack Overflow n'est pas un service de débogage. Vous ne pouvez pas simplement vider tout votre code. S'il vous plaît lire [MCVE]. Vous devez fournir un exemple * minimal *. – Anders