2012-01-03 3 views
1

У меня есть 2 флажка, который показывает и отображает некоторые div.jquery toggle от двух триггеров

Первый флажок при переключении покажет название банка и адрес банка. Второй флажок при проверке отобразит название банка и отделение банка.

Что я хочу достичь, так это то, что: когда оба флажка отмечены, пользователь должен увидеть имя банка, банковский адрес и отделение банка, и, очевидно, когда оба флажка не отмечены, пользователь не должен ничего видеть.

У меня проблемы с правильной логикой для функции переключения, так как оба флажка будут включать/выключать имя банка независимо от его текущего состояния. Нажав на checkbox2, вы удалите название банка, которое не является тем, что я хочу.

Я думаю, что я должен использовать какую-то глобальную переменную, чтобы помочь мне отслеживать ее, но я не могу заставить ее работать.

Мой код здесь: http://jsfiddle.net/mJbbc/

ответ

1

Поставьте галочку в код переключения.

$('#checkbox1').click(function() { 
    if($('#checkbox2').is(':checked')) { 
    //Display Branch code 
    } else { 
    //Toggle code 
    } 
}); 

Аналогично для второго флажка

$('#checkbox2').click(function() { 
    if($('#checkbox1').is(':checked')) { 
    //Display Branch code 
    } else { 
    //Toggle code 
    } 
}); 
1

При проверке, если либо флажок установлен и с помощью toggle сек showOrHide аргумент вы можете сделать это следующим образом;

$('#box1').click(function() { 
    $("#bank_address").toggle(this.checked); 
    $("#bank_name").toggle($('#box2').is(':checked') || this.checked); 
}); 

$('#box2').click(function() { 
    $("#bank_branch").toggle(this.checked); 
    $("#bank_name").toggle($('#box1').is(':checked') || this.checked); 
}); 

Demo