thickBox checkbox IE中无法记住状态bug 的解决方案

  1. <div id="cabinEditDiv" style="display:none" bgcolor='#D1D1D1'>
  2.    
  3.     </div>

 

页面上有如上所示DIV

 

js控制部分

  1. function initCabinTable(cabinTypes)
  2. {
  3. $("#cabinEditDiv").html("");
  4. row=(cabinTypes.length+3)/4;
  5. cabinTableHtml="<table id='cabinEditTable' text-align='center' width='280' height=180 align='center' cellpadding='2' cellspacing='1' border='0' bgcolor='#D1D1D1'>";
  6. cabinTableHtml+="<tr><td colspan=4 style='text-align:center'>选择仓位</td></tr>";
  7. while(row>0)
  8. {
  9. cabinTableHtml+="<tr bgcolor='#ffffff'><td style='text-align:center' rel='cabinEditTD' name='cabinEditTDForCheckbox'></td><td style='text-align:center' rel='cabinEditTD' name='cabinEditTDForCheckbox'></td><td style='text-align:center' rel='cabinEditTD' name='cabinEditTDForCheckbox'></td><td style='text-align:center' rel='cabinEditTD' name='cabinEditTDForCheckbox'></td></tr>";
  10. row--;
  11. }
  12. cabinTableHtml+="<tr bgcolor='#ffffff'><td style='text-align:center' rel='cabinEditTD' name='cabinEditTDForCheckboxAll'></td><td style='text-align:center' rel='cabinEditTD' name='cabinEditTDForCheckboxAllCancel'></td><td style='text-align:center' rel='cabinEditTD' name='cabinEditTDForCheckbox'></td><td style='text-align:center' rel='cabinEditTD' name='cabinEditTDForCheckbox'></td></tr>";
  13. cabinTableHtml+="<tr bgcolor='#ffffff'><td style='text-align:center' rel='cabinEditTD' name='cabinEditTDForInputOk' colspan='2' ></td><td style='text-align:center' rel='cabinEditTD'  name='cabinEditTDForInputCancel' colspan='2'></td><tr>";
  14. cabinTableHtml+="</table>";
  15. $("#cabinEditDiv").append(cabinTableHtml);
  16. tdArray=$("td[rel='cabinEditTD']");
  17. $.each(tdArray,function (i,c){
  18. if(i<cabinTypes.length&&$(this).attr("name")=="cabinEditTDForCheckbox")
  19.  $(this).append(cabinTypes[i]+"<input rel='"+cabinTypes[i]+"' name='cabinEditCheckbox' checked=true type='checkbox'/>");
  20. if($(this).attr("name")=="cabinEditTDForInputOk")
  21.  $(this).append("<input id='cabinEditButtonOk'   value='确定' type='button' οnclick='cabinEditButtonOk_onclick()'/>");
  22. if($(this).attr("name")=="cabinEditTDForInputCancel")
  23.  $(this).append("<input id='cabinEditButtonCancel'   value='返回' type='button' οnclick='cabinEditButtonCancel_onclick()'/>");
  24. if($(this).attr("name")=='cabinEditTDForCheckboxAll')
  25.  $(this).append("<a href='#' id='cabinEditLinkForSelectAll' οnclick='cabinEditLinkForSelectAll_onclick()'>全选</a>")
  26. if($(this).attr("name")=='cabinEditTDForCheckboxAllCancel')
  27.  $(this).append("<a href='#' id='cabinEditTDForCheckboxAllCancel' οnclick='cabinEditTDForCheckboxAllCancel_onclick()'>取消</a>")
  28. });
  29. }
    1. function cabinEditButtonOk_onclick()
    2. {
    3.  cabinTypetmp='';
    4.  checkboxArrayChecked=$("input[type='checkbox'][name='cabinEditCheckbox']");
    5.  $.each(checkboxArrayChecked,function (i,c){
    6.  if($(this).attr('checked')==true)
    7.  {
    8.   cabinTypetmp+=$(this).attr("rel");
    9.  // if(i<(checkboxArrayChecked.length-1))
    10.     cabinTypetmp+=',';
    11.  $(this).replaceWith("<input rel='"+$(this).attr('rel')+"' name='cabinEditCheckbox' checked=true  type='checkbox'/>");
    12.  }else{
    13.  $(this).replaceWith("<input rel='"+$(this).attr('rel')+"' name='cabinEditCheckbox'   type='checkbox'/>");
    14.  }
    15.  });
    16.  if(cabinTypetmp!='')
    17.  {
    18.  while(cabinTypetmp.charAt(cabinTypetmp.length-1)==',')
    19.    cabinTypetmp=cabinTypetmp.substring(0,cabinTypetmp.length-1);
    20.  $("#cabinType").val(cabinTypetmp);
    21.  tb_remove();
    22.  }
    23.  else
    24.  {
    25.  alert("必须选择一个仓位");
    26.  }
    27. }

    本质是 如果一个<input>被选中则用一个属性为checked的<input>空间替换

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值