在没有页面重新加载的CheckBox Click事件上重定向URL

时间:2017-12-15 06:42:54

标签: jquery ajax

这是我的复选框代码。复选框值得到:http://mydomainsss.com/men.html?band_colour=131

<span class="check-box">
    <input type="checkbox" name="vehicle" class="filtercheckbox" value="<?php echo $this->urlEscape($_item->getUrl())?>" />
</span>

这是我的Jquery代码:

<script type="text/javascript">
jQuery('input[type=checkbox').click(function(){

      window.location.hash = jQuery(this).val();
    });
</script>

此代码简单更改URL,如http://mydomainsss.com/men.html#http://mydomainsss.com.com/men.html?band_colour=131

但我希望redirect改为http://mydomainsss.com/men.html?band_colour=131 没有页面reload。 那么有人可以帮助我吗?

3 个答案:

答案 0 :(得分:0)

只需在输入值中使用哈希值,而不是整个URL ...!

&#13;
&#13;
jQuery('input[type=checkbox').change(function(){
      window.location.hash = jQuery(this).val();
    });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="check-box">
        <input type="checkbox" name="vehicle" class="filtercheckbox" value="#something" />
    </span>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

只需使用以下方式,而不是使用.hash

window.location.replace(jQuery(this).val());

or
window.location.href = jQuery(this).val();

or Jquery
$(location).attr('href', jQuery(this).val())

这种方式将重定向到新链接。

更新: 我曾经认为你想要重新浏览这个页面。

如果您只是想更改网址,请研究html5功能

history.pushState

如果你想在没有页面加载的情况下重定向,你必须研究Angular,React,Backbone ......

或者使用ajax页面加载libarry,例如:pjax,smoothState.js来加载一些内容而不重新加载页面。

感谢无投票:(

答案 2 :(得分:-1)

window.location.hash更改为window.location.href

<script type="text/javascript">
  jQuery('input[type=checkbox').click(function(){

    window.location.href = jQuery(this).val();
  });
</script>