2013-01-06 60 views
0

我有這個jquery收音機框的地方,我說如果一個屬於這個類的單選框和這個id被點擊,顯示這個隱藏的div。問題是,當你刷新pag時,單選框仍然被點擊,但隱藏的div不顯示。它只顯示如果我點擊一個不同的收音機框,然後點擊返回到被點擊的原始收音機框。如何顯示隱藏的div?

這是我使用的JavaScript:

$(function(){  
    $('.display').click(function(){ 
     if ($(this).attr("id") == "rows"){ 
      $('.section').show(); 
     } else { 
      $('.section').hide(); 
     } 
    }); 
}); 

下面是我得到了這片從JavaScript的,向你展示一個工作示例的例子。 Working Example

現在,如果這是一個表單,並且您單擊了優惠2,然後保存了表單並返回到頁面,則該隱藏的div將不會顯示。只要單選框始終點擊,我如何才能顯示div?

說明:該示例使用jquery 1.5.1,我使用的是最新版本的jquery。

應該注意的是,如何保存收音機箱並不重要,無線電箱用戶選擇被保存,因此在頁面上刷新用戶選擇的收音機箱仍然是「被選中」的。然後應該顯示隱藏的div,但事實並非如此。

只有當我選擇一個不同的收音機箱然後回到最初選擇的收音機箱時纔會顯示。請參閱上面的工作示例,以瞭解在選擇收音機框時如何顯示隱藏的div。

我想要這個div總是顯示,如果選擇了收音機框。

+2

不確定你在問什麼。你想知道如何使用JavaScript保存用戶的選擇嗎?當我刷新頁面時,收音機不會保持選中狀態。 – FakeRainBrigand

+1

頁面刷新後如何選擇收音機?您是否將其存儲在服務器上並將其發回?您是否將該信息存儲在本地存儲/ Cookie中? –

+0

添加了更多信息。請參閱OP。 – TheWebs

回答

0
$(function(){  

    // your function 
    $('.display').click(function(){ 
     if ($(this).attr("id") === "rows"){ 
      $('.section').show(); 
     } else { 
      $('.section').hide(); 
     } 
    }); 

    // initial check 
    if ($('input:radio:checked').attr('id') === "rows") { 
     $('.section').show(); 
    } 

}); 

你需要,如果你有一個以上的在頁面上設置單選按鈕的一個標識符添加到jQuery選擇。您可以使用輸入字段的名稱,如下所示:

$('input[name=myradiobutton]:radio:checked') 
+0

這個問題,名稱總是像這樣:name [value]; – TheWebs

+0

您的所有單選按鈕輸入(對於此分組)應該具有相同的名稱屬性。例如,如果您有汽車收音機選項,則每個輸入字段的選項名稱都是'name =「car」'。但是,價值會有所不同,例如'value =「ferrarri」','value =「porsche」','value =「laborghini」等。 – diggersworld