2010-11-20 8 views
0

je devais faire un code jquery pour ajouter dynamiquement composant dans la pageJquery ne fonctionne pas dans IE 8

var counter = 1; 
var delCnt = 0; 
$(function() { 
    $('#linkAddLot').click(function() { 
     counter = eval(document.getElementById("hdnTotLot").value); 
     delCnt = eval(document.getElementById("hdnDelLot").value); 
     if((eval(counter-delCnt))>=5){ 
      $('span.#lotMsg').css("visibility","visible"); 
      $('span.#lotMsg').css("color","red"); 
      $('span.#lotMsg').html('Already 5 (Five) Lot!!!'); 
     } else { 
      $('span.#lotMsg').css("visibility","collapse"); 
      var htmlEle = "<tr id='trLot_"+ (counter+1) +"'>"+ 
       "<td class='t-align-center'><input type='checkbox' name='packagedetail_"+ (counter+1) +"' id='chkPackageDetail_"+ (counter+1) +"' value='"+ (counter+1) +"'/></td>"+ 
       "<td class='t-align-center'><input name='lotno_"+ (counter+1) +"' type='text' class='formTxtBox_1' id='txtLotNo_"+ (counter+1) +"' style='width:80px;' onBlur='chkLotNoBlank(this);chkLotNo(this);'/><span id='msgLotNo_"+ (counter+1) +"' style='color: red; ' >&nbsp;</span></td>"+ 
       "<td class='t-align-center'><textarea name='lotdesc_"+ (counter+1) +"' cols='20' rows='3' class='formTxtBox_1' id='txtLotDesc_"+ (counter+1) +"' style='width:250px;' onBlur='chkLotDetBlank(this);'></textarea><span id='msgLotDesc_"+ (counter+1) +"' style='color: red; '>&nbsp;</span></td>"+ 
       "<td class='t-align-center'><input name='quantity_"+ (counter+1) +"' type='text' class='formTxtBox_1' id='txtQuantity_"+ (counter+1) +"' style='width:80px;' onBlur='chkQtyBlank(this);'/><span id='msgLotQty_"+ (counter+1) +"' style='color: red; '>&nbsp;</span></td>"+ 
       "<td class='t-align-center'><input name='unit_"+ (counter+1) +"' type='text' class='formTxtBox_1' id='txtUnit_"+ (counter+1) +"' style='width:80px;' onBlur='chkUnitBlank(this);'/><span id='msgLotUnit_"+ (counter+1) +"' style='color: red; '>&nbsp;</span></td>"+ 
       "<td class='t-align-center'><input name='estimatecost_"+ (counter+1) +"' type='text' class='formTxtBox_1' id='txtEstimateCost_"+ (counter+1) +"' style='width:80px;' onChange='setPkgEstCost(this);' onBlur='chkEstBlank(this);'/><span id='msgLotCost_"+ (counter+1) +"' style='color: red; '>&nbsp;</span></td>"+ 
       "</tr>"; 
      $("#tblLots").append(htmlEle); 
      document.getElementById("hdnTotLot").value = (counter+1); 
     } 
    }); 
}); 

Ici j'avais fait fonction onBlur sur onBlur='chkLotNoBlank(this);chkLotNo(this);' sur txtLotNo mais dans IE8 son travail cative,

si je vais le faire dans IE 7 et firefox je travaille bien, et alos si je vais travailler dans Windows 7 pré installé IE8.0.7600.16385 version IE8, mais il ne peut pas travailler si je vais essayer dans Windows 2003 compatible IE 8.0.6001.18702 , donc quelqu'un peut-il me donner une solution pour cela?

+0

Quel est le code du fonctions 'chkLotNoBlank' et' chkLotNo'? Je ne vois pas ceux affichés ci-dessus. – PleaseStand

Répondre

0

Je ne peux pas dire exactement quel est le problème - mais l'utilisation de ces evals est définitivement géniale. Il est préférable de ne pas utiliser eval si vous n'avez pas à le faire, cela consomme beaucoup de ressources.

Essayez ceci:

var counter = 1; 
var delCnt = 0; 

$(function() { 
    $('#linkAddLot').click(function() { 
     counter = parseInt($("#hdnTotLot").val(),10); 
     delCnt = parseInt($("#hdnDelLot").val(),10); 
     if(((counter-delCnt)>=5){ 
      $('span.#lotMsg').css("visibility","visible"); 
      $('span.#lotMsg').css("color","red"); 
      $('span.#lotMsg').html('Already 5 (Five) Lot!!!'); 
     } else { 
      $('span.#lotMsg').css("visibility","collapse"); 
      var htmlEle = ""+ ""+ " "+ " "+ " "+ " "+ " "+ ""; 
      $("#tblLots").append(htmlEle); 
      $("#hdnTotLot").val(counter+1); 
     } 
    }); 
}); 
+0

Merci pour votre suggestion et d'orientation, mais je vous remercie vraiment si vous trouverez une solution à mon problème réel. – Sanju

+0

J'ai besoin du code actuel pour l'assignation de votre gestionnaire d'événement de flou et les gestionnaires de flou eux-mêmes pour vous fournir une solution possible. –

+0

je dois vérifier son vide ou pas sur l'événement de flou ... – Sanju

-1

Vous avez le code suivant:

$('span.#lotMsg').css("visibility","visible"); 
$('span.#lotMsg').css("color","red"); 
$('span.#lotMsg').html('Already 5 (Five) Lot!!!'); 

ne serait-il préférable de shortern cela:

$('span.#lotMsg').css("visibility","visible").css("color","red").html('Already 5 (Five) Lot!!!'); 
+1

Cela ne répond pas à la question réelle, cependant. Ce type de suggestion conviendrait mieux comme commentaire à la question. –