簡體   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