2016-06-17 52 views
2

的JavaScript:哈希作爲選中的複選框的值,除去如果取消選中複選框

if ($('#mycheckbox').is(':checked')) { 
    window.location.hash = this.val(); 
} else { 
    window.location.hash = ''; 
} 

HTML:

<input type="checkbox" name="vehicle" value="Bike"> 

我的問題是,當我選中的複選框我的哈希清除複選框值增加哈希值。

我想檢查時,複選框值附加到散列,當未選中時,複選框值從散列刪除。

+0

感謝大家...... 解決我的問題 –

回答

1

首先,將id添加到您的input標記中。然後,您需要首先獲取散列的當前值(window.location.hash),將輸入的值連接到散列。同樣,在刪除時,您只需從哈希中刪除值部分,而不是整個哈希字符串。

<script> 
    $(document).ready(function(){ 
    $("#mycheckbox").on("change", function(){ 
     if ($('#mycheckbox').is(':checked')) { 
     window.location.hash = window.location.hash + $(this).val(); 
     } 
     else { 
     window.location.hash = window.location.hash.replace($(this).val(), '');       
     } 
    });//change 
    });//document ready 
</script> 

<input type="checkbox" name="vehicle" id="mycheckbox" value="Bike"> 
0
<input id="mycheckbox" type="checkbox" name="vehicle" value="Bike"> Bike 

<script> 
$('#mycheckbox').on('change', function(){ 
    window.location.hash = this.checked ? window.location.hash + this.value : window.location.hash.replace(this.value,''); 
}); 

</script> 
相關問題