页面重新加载后,持久化复选框已检查状态

时间:2012-02-28 02:32:45

标签: javascript jquery checkbox checked prop

我抓住所有选中的复选框'值和传递到URL并按下按钮,页面重新加载并根据传递的查询字符串提取所有结果。我无法做的是在页面重新加载后保持复选框的选中状态,因为我没有服务器代码访问权限。一切都在客户端完成。这就是我抓取值并传递给URL的方式:

var checkboxValues = $("input[name=LocType]:checked").map(function() {
        return "\"" + $(this).val() + "\"";}).get().join(" OR ");

    window.location= url+checkboxValues;

现在单击GO按钮,页面将重新加载URL。 http://mysite.com/results.aspx?k="医院"或者"办公室"或者"设施"如果检查了这三个复选框...并根据选择提取结果。我试图在k =之后获取查询字符串并使用它将respectiv复选框的选中状态设置为TRUE,以便它们保持检查...

它无法正常工作,我无法找出原因?

var checkedOnes = decodeURI(location.href.match(/\&k\=(.+)/)[1]).split(" OR ");
var $checkBoxes = $('input[name=LocType]');
$.each(checkedOnes, function(i, val){
    $checkBoxes.filter('value=[' + $.trim(val.replace(/\"/g, '')) +']').prop('checked', true);
});

上面的代码在document.ready(){}中,而数组checkedOnes返回值为:Hospital OR Office OR Facility ...

 <div class="LocTypeChkBoxesSearch">
    <div class="LocTypeChkBoxes">
        <input name="LocType" type="checkbox" value="Hospital"/>HOSPITALS&#160;&#160;
        <input name="LocType" type="checkbox"  value="Office"/>  PHYSICIAN OFFICES&#160;&#160;
        <input name="LocType" type="checkbox"  value="Emergency"/>EMERGENCY CENTERS&#160;&#160;
        <input name="LocType" type="checkbox"  value="Out-Patient"/>OUT-PATIENT CENTERS&#160;&#160;
        <input name="LocType" type="checkbox" value="Facility"/>FACILITIES
    </div>
    <div class="searchBtnHolder"><a class="searchButton" href="#" type="submit" ><span>GO</span></a></div>
</div>

0 个答案:

没有答案