哈希值作为已选中复选框的值,如果取消选中则删除复选框

时间:2016-06-17 13:38:45

标签: javascript jquery asp.net

JavaScript的:

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

HTML:

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

我的问题是,当我选中复选框时,我的哈希清除并且复选框值添加到哈希。

我想要在选中时,复选框值附加到哈希值,当取消选中时,复选框值从哈希值中删除。

2 个答案:

答案 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">

答案 1 :(得分: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>