我有一個ASP MVC Web應用程序,在其中一個頁面上有一組主複選框,其下有子複選框。只有當相應的主複選框被選中時,子複選框纔會顯示。只要沒有任何複選框在頁面加載時被選中,我就可以使用以下代碼。在頁面加載時基於複選框值的jQuery顯示
$("input[id$=Suffix]").change(function() {
prefix = this.id;
if (!$(this).hasClass("checked")) {
$("tr[id^=" + prefix + "]").show();
$(this).addClass("checked");
}
else {
$("tr[id^=" + prefix + "]").hide();
$(this).removeClass("checked");
}
});
現在我需要檢查數據庫的主複選框的值。我得到的值,並可以檢查頁面加載框。但是當頁面出現時,當複選框被選中時,子複選框不會顯示。此外,如果在加載頁面時選中主複選框,則只有在取消選中主chcekbox時顯示子複選框(顯然是因爲上述函數僅對.change())起作用。
你們都建議我試試?如果您需要進一步解釋,請隨時詢問。
編輯:順便說一句,這一切都是在$(文件)。就緒()
如何從數據庫中獲取檢查值並設置主複選框? AJAX調用和dom?還是asp腳本? – edl 2010-05-21 20:16:13
我只是使用Model(LINQ to SQL)來檢查數據庫,然後從我的控制器中設置ViewData。 – 2010-05-21 20:18:56
由於您有關於「父」複選框是否已選中或未在服務器端(呈現時)的信息,爲何不將「子複選框」呈現爲正確的(可見或隱藏)狀態,而不是嘗試觸發他們的客戶端? – R0MANARMY 2010-05-21 22:57:03