2015-07-20 373 views
1

我有一個div格式(#sides),我只希望顯示一個複選框(.opp-choice-checkbox)沒有被選中。下面的代碼我現在所擁有的:基於複選框的值顯示div

jQuery -> 
    if !$(".opp-choice-checkbox").checked 
    $("#sides").hide() 
    $(".opp-choice-checkbox").click -> 
    $("#sides").slideToggle() 

類似的問題被問了很多,但我的問題不同的是,當我去編輯對象的形式是,有時複選框默認選中。在這種情況下,我希望div在頁面加載時顯示。我現在的代碼默認隱藏div,無論是否選中複選框

回答

1

修訂

您的代碼與下面提及的小更新完美的工作,你的代碼中看到Working fiddle

的CoffeeScript:

你剛纔添加的else在你的病情來顯示DIV如果checkbox是檢查:

jQuery -> 
    if !$(".opp-choice-checkbox").is(":checked") 
    $("#sides").hide() 
    else 
    $("#sides").show() 

    $(".opp-choice-checkbox").click -> 
    $("#sides").slideToggle() 

如果有時你有個默認chekcked checkbox,你剛纔刪除的條件,並用T取代你coofee代碼他以下幾點:

jQuery -> 
    $(".opp-choice-checkbox").change -> 
    $("#sides").slideToggle() 

見小提琴HERE

我希望這會有所幫助。

+0

這是真的,看到我的更新'$(「。opp-choice-checkbox」)。is(「:checked」)',謝謝。 –

1

$(".opp-choice-checkbox")沒有checked屬性 - 這是一個jQuery元素。爲了拿到常規DOM ELEM,使用[0]

$(".opp-choice-checkbox")[0].checked 

或者,使用.is("checked")

$(".opp-choice-checkbox").is("checked") 

如果這是所有連接到changeclick事件,只是負載運行的事件來觸發行爲, ($(elem).change(function() { }).change()