2012-08-26 33 views
1

我有這個HTML。jQuery - 切換不會在頁面重新加載

<tr> 
    <td width="75">Mon</td> 
    <td class="bn_time" width="60"> 
     <input id="mon_open" name="mon_open" class="time" placeholder="opening time" /> 
    </td> 
    <td class="bn_time" width="10" align="center">-</td> 
    <td class="bn_time" width="100"> 
     <input id="mon_close" name="mon_close" class="time" placeholder="closing time" /> 
    </td> 
    <td colspan="3" align="center" class="bn_holiday" hidden>Holiday</td> 
    <td> 
     <input type="checkbox" name="mon_closed" id="mon_closed" class="bn_closed" /> 
     <label for="mon_closed">Closed</label> 
    </td> 
</tr> 

我正在使用這個jQuery。

$('.bn_closed').on('change', function() { 
    var element = $(this); 
    var id = element.attr('id'); 
    var day = id.slice(0,-7); 
    var day_open = day+'_open'; 
    var day_close = day+'_close'; 
    var checked = element.is(':checked'); 
    var td = element.closest("td"); 
    td.siblings(".bn_time").toggle(!checked); 
    td.siblings(".bn_holiday").toggle(checked); 
}); 

要實現以下目標。

if($('.bn_closed').is(':checked')) { 
    //hide all <td> element with class bn_time 
    //show <td> element with class bn_holiday 
} else { 
    //show all <td> element with class bn_time 
    //hide <td> element with class bn_holiday 
} 

這部作品與.bn_closed改變事件然而,當重新加載頁面,如果與.bn_closed類的元素被選中。切換不生效。我想要的是切換頁面時也應該發生。我怎麼去用它?

謝謝

回答

1

試試這個:

$('.bn_closed').on('change', function() { 
    // ... 
}).change() 
+0

謝謝你,這是工作,那麼究竟是什麼'.change()'確實會在這裏? –

+0

@IbrahimAzharArmar不客氣,它只是觸發了變化事件。 – undefined

+0

好吧,你的意思是,它會在頁面加載時觸發更改事件,而不是等待用戶觸發事件。 –