2012-02-20 139 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