繁体   English   中英

在重新加载页面之前,复选框未获得检查状态

[英]Checkbox not getting checked state before page reload

我的应用程序有一个场地和区域的表,每个区域有许多场地。 索引页面将所有场地显示为部分。

索引页面还有一个表单,其中包含每个区域的复选框和一个提交按钮,并允许用户根据选择的区域过滤显示的场地。 复选框使用jQuery-UI按钮小部件来获得更好的外观。

has a .png map image of a town showing all the differant areas and each area is clickable and corresponds with an area checkbox in the filter form. 索引页面一个城镇的.png地图图像,显示所有不同的区域,每个区域都是可点击的,并与过滤器表单中的区域复选框相对应。 map.png是包含每个区域的多边形形状的图像映射的背景。

我已设法使用javascript将地图上的区域链接到区域复选框,因此用户可以选择表单中的复选框或地图上的区域来过滤结果。

$(function() {
  $('area').click(function(){
    var name = $(this).data("areanum");
    var $checkbox = $('#' + name);
    $checkbox.attr('checked', !$checkbox.attr('checked'));
  });       
});

但是,如果用户单击地图上的某个区域,则在提交表单并重新加载页面之前,相应的复选框将不会被检查。

如何在地图上选择某个区域后立即进行相应复选框的检查?

如果需要任何其他代码,请询问,我会发布,我不想用大量的代码来解决问题,因为我不太确定什么是重要的。

任何有关这方面的帮助将非常感谢!

...复选框使用jQuery-UI按钮小部件来获得更好的外观。 ...

啊哈! 当以编程方式更改自定义jQuery UI复选框的复选框状态时,您需要明确告诉复选框刷新其显示状态:

$('area').click(function(){
    var name = $(this).data("areanum");
    var $checkbox = $('#' + name);
    $checkbox.attr('checked', !$checkbox.attr('checked'));
    $checkbox.button("refresh");
});  

尝试这个:

$("input[type=checkbox]").prop('checked', true).uniform();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM