0

私が作業しようとしているスクリプトは、ユーザーがページの特定のセクションにいる場合にボタンを非表示にするように設計されています。問題は、 . hide() が起動されていないことです.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");
    }
});
4

3 に答える 3

0

requestSelection がチェックされているかどうかを確認する方法を変更する必要があります

変化する:

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

に:

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

または、jquery 1.6 以降を使用している場合

if(resultSelection.prop('checked')){
于 2013-07-25T15:48:28.643 に答える
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");
    }
}
于 2013-07-25T15:49:49.137 に答える
0

ハンドラーをイベントにアタッチしないと、機能しません。また、コードはかなり短くすることができます:

$(function () {
    $('.resultsSelector').on('change', function () {
        $('.sendreminderBtn').toggle($(this).is(":not(:checked)"));
    });
});
于 2013-07-25T15:50:32.917 に答える