2012-02-20 102 views
1

但是之前的解决方案不工作,因为有一个函数调用增加了复杂性之前,我有过这个问题。我有这个代码,它在除IE之外的所有浏览器中都可以正常工作。jquery更改和IE复选框问题

$('#HoldPaymentM').change(function(){$('#HoldPaymentW')[0].checked=$('#HoldPaymentM')[0].checked;CallCalc('calc');}); 
$('#HoldPaymentW').change(function(){$('#HoldPaymentM')[0].checked=$('#HoldPaymentW')[0].checked;CallCalc('calc');}); 

如果我把它改成这样它的一部分作品,但一直初始化函数调用(这是不期望的行为

 $('#HoldPaymentW').bind($.browser.msie? 'propertychange': 'change', function() { 
     $('#HoldPaymentM')[0].checked=$('#HoldPaymentW')[0].checked;CallCalc('calc'); 
     }); 

$("#HoldPaymentM").bind($.browser.msie? 'propertychange': 'change', function() { 
    $('#HoldPaymentM')[0].checked=$('#HoldPaymentW')[0].checked;CallCalc('calc'); 
    }); 

可能有人请帮助我发现我的方式错误?更改“变化|?”‘点击’并不在此之际工作

亲切的问候 雷切尔

+0

为什么使用'click'不行? – 2012-02-20 14:55:12

+0

不知道 - 如果我只是将'propertychange'更改为'click',我的语法是否正确? – Rachel 2012-02-20 14:57:48

+0

从我所了解的情况来看,这是一个复选框或单选按钮,为什么不将它绑定到“更改”事件工作? $('#HoldPaymentW')。bind('change',function(){(#HoldPaymentM')[0] .checked = $('#HoldPaymentW')[0] .checked; CallCalc('calc' ); }); – 2012-02-20 15:19:08

回答

1

这不起作用

$('#HoldPaymentW').bind('change', function() { 
     $('#HoldPaymentM')[0].checked=$('#HoldPaymentW')[0].checked;CallCalc('calc'); 

     }); 

Thses天我使用$('selector').on('change', function(e){/*do stuff*/});所有的时间和它的工作跨浏览器...

+0

我正在缩小它与我使用的这个插件的冲突 - http://widowmaker.kiev.ua/checkbox/ - 上面的代码确实工作,但不是当我从上面的插件初始化.checkbox :( – Rachel 2012-02-20 15:46:39