2013-07-25 158 views
0

我試圖使用的腳本被設計爲在用戶位於頁面的某個部分時隱藏按鈕。問題是.hide()沒有被解僱,我相信它與if語句有關,只是不太確定。jQuery和if語句和單選按鈕

$(function() { 
    var sndReminderBtn = $('.sendreminderBtn'); 
    var resultSelection = $('.resultsSelector'); 



    if (resultSelection.is(':checked')) { 
     sndReminderBtn.hide(); 
     alert("Button is hidden"); 

    } else { 
     sndReminderBtn.show(); 
     alert("button is NOT hidden"); 
    } 
}); 
+0

<<用於在用戶在頁面的某個部分**時隱藏按鈕** >>代碼中沒有這樣的內容 –

+0

我猜你將需要在事件中觸發此事件,而不是在頁面加載時檢查它 - 因爲當前代碼看起來絕對正確。要麼是這樣,要麼你有一個元素類名稱錯誤,或者多個元素被賦予相同的類。 –

+0

@roasted你是對的,ALOT在整個頁面代碼中繼續進行,因爲它是整個網站的一部分,這個網站是用一個MVC框架構建的,這個網站是從一些不同的類中提取的 – CTully12

回答

0

如果不處理程序附加到一個事件,它不會工作。此外,代碼可以更短:

$(function() { 
    $('.resultsSelector').on('change', function() { 
     $('.sendreminderBtn').toggle($(this).is(":not(:checked)")); 
    }); 
}); 
+0

這個工作!很好,謝謝。我一直在嘗試自學jQuery一段時間,所以仍然在學習in和out。欣賞它。 – CTully12

+0

沒問題。一旦你習慣了它,你會發現事情會變得更容易。 :) – melancia

+0

如果您滿意,請記住將此答案標記爲解決方案。 – melancia

0

必須改變,如果requestSelection檢查你verifyng方式

變化:

if(resultSelection.is(':checked')){ 

通過:

if(resultSelection.attr('checked')){ 

或者,如果你正在使用jQuery 1.6+

if(resultSelection.prop('checked')){ 
0

綁定時,頁面加載,然後偵聽器觸發功能

$(function() { 
    $('.sendreminderBtn').click(showHide); 
}); 

function showHide(){ 
    var sndReminderBtn = $('.sendreminderBtn'); 
    var resultSelection = $('.resultsSelector'); 
    if (resultSelection.is(':checked')) { 
     sndReminderBtn.hide(); 
     alert("Button is hidden"); 

    } else { 
     sndReminderBtn.show(); 
     alert("button is NOT hidden"); 
    } 
}