用jquery和IE计算复选框

时间:2011-09-20 05:38:18

标签: jquery internet-explorer checkbox

<div class="cbox rounded-corners">
<div>....<div>  
<div id="sendclientid">Send to Client:<span><input type="checkbox" name="sendtoclient[]" class='sendtoclient' value="1" ></span></div>
<div>...</div>
</div>
 <div class="cbox rounded-corners">
<div>....<div>  
<div id="sendclientid">Send to Client:<span><input type="checkbox" name="sendtoclient[]" class='sendtoclient' value="2" ></span></div>
<div>...</div>
</div>
 <div class="cbox rounded-corners">
<div>....<div>  
<div id="sendclientid">Send to Client:<span><input type="checkbox" name="sendtoclient[]" class='sendtoclient' value="3" ></span></div>
<div>...</div>
</div>
 <div class="cbox rounded-corners">
<div>....<div>  
<div id="sendclientid">Send to Client:<span><input type="checkbox" name="sendtoclient[]" class='sendtoclient' value="4" ></span></div>
<div>...</div>
</div>

$('#sendclientid input').click(sendclientTextArea);

  sendclientTextArea();

 function sendclientTextArea() { 

var allclientVals = [];

$('.start_booking_process_btmhref').removeClass("boldfont").attr("disabled", "disabled");
$('#sendclientval').val("");

$('#sendclientid :checked').each(function() {

var clientchecked_status = this.checked;

if (clientchecked_status == true) {

if($(this).val()=='')
{
      $('.start_booking_process_btmhref').removeClass("boldfont").attr("disabled", "disabled");
    $('#sendclientval').val(""); 
}
else
{
       $('.start_booking_process_btmhref').removeAttr("disabled").addClass("boldfont");
}

}


 allclientVals.push($(this).val());

 $('#sendclientval').val(allclientVals);    

 });

}

你可以在jsfiddle http://jsfiddle.net/PjP77/上看到这个,请查看这个,即你可以看到ff当你点击文本bx得到更新但是只有第一个文本框omehw激活jq而不是其他人。 ....

任何人都可以解释....谢谢

1 个答案:

答案 0 :(得分:1)

现在,我可能错了,但我相信只有课程是可重复的。 “id”属性应该是唯一的,我认为IE强制执行; webkit和gecko工作的原因是因为他们为了兼容性而宽容。

删除对id标记的所有引用可以修复IE7中的jsfiddle问题(在IE9中可以正常工作)。

尝试调整您的脚本,以便重复一个类而不是重复“id”属性。

祝你好运!