2010-11-20 3 views
0

Я был сделать один код JQuery для динамического добавления компонента в PageJquery не работает в 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); 
     } 
    }); 
}); 

Здесь я сделал ONBLUR функции onBlur='chkLotNoBlank(this);chkLotNo(this);' на txtLotNo, но в IE8 его косяке работе,

если я запустил его в IE 7, а firefox i отлично работает, и alos, если я буду работать в Windows 7, предварительно установленной версией IE8 IE8.0.7600.16385, но это не работает, если я попробую в Windows 2003, совместимом с IE 8.0.6001.18702 , так может ли кто-нибудь дать мне решение для этого?

+0

Что такое код из функции 'chkLotNoBlank' и' chkLotNo'? Я не вижу вышеперечисленных. – PleaseStand

ответ

0

Я не могу точно сказать, в чем проблема - но использование этих соображений определенно напуганно. Лучше не использовать eval, если вам этого не нужно, он потребляет много ресурсов.

Попробуйте это:

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

Спасибо за ваши предложения и рекомендации, но я действительно благодарю вас, если вы найдете решение моей проблемы. – Sanju

+0

Мне нужен фактический код для назначения обработчика события размытия и самих обработчиков размытия, чтобы предоставить вам возможное решение. –

+0

Я должен проверить его пустое или не на размытие события ... – Sanju

-1

У вас есть следующий код:

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

не было бы лучше shortern это:

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

Это не касается фактического вопроса. Этот тип предложений лучше всего подходит в качестве комментария к вопросу. –

Смежные вопросы