チェックボックスの数をカウントし、それらのコンテンツを表示/非表示にする簡単なスクリプトを作成しました。一部のブラウザでは正常に動作しますが、FF を使用して 2 台の Mac をテストしても、両方とも異なる結果が返されます。すなわち。ラグガードを返すボックスがない場合、これ以上は表示上の div を変更する必要があります。
奇妙なことに、一部のブラウザはこれを逆にしています。たとえば、すべてのボックスにチェックを入れると、イノベーターではなくラガードが表示されます。
何か案は?
<script type="text/javascript">
$(document).ready(function() {
$('input[type=checkbox]').change(function() {
//alert($('input:checked').size())
//if laggard
if ($('input:checked').size() < 1) {
$("div#four").show();
$("div#one").hide();
$("div#two").hide();
$("div#three").hide();
$("div#EM").hide();
}
//late majority
else if ($('input:checked').size() < 2) {
$("div#three").show();
$("div#one").hide();
$("div#two").hide();
$("div#four").hide();
$("div#EM").hide();
}
// early majority
else if ($('input:checked').size() < 4) {
$("div#two").hide();
$("div#one").hide();
$("div#three").hide();
$("div#four").hide();
$("div#EM").show();
}
// early adopter
else if ($('input:checked').size() < 6) {
$("div#two").show();
$("div#one").hide();
$("div#three").hide();
$("div#four").hide();
$("div#EM").hide();
}
else if ($('input:checked').size() < 7) {
$("div#one").show();
$("div#two").hide();
$("div#three").hide();
$("div#four").hide();
$("div#EM").hide();
}
else {
// do something here
$("div#four").show();
$("div#one").hide();
$("div#two").hide();
$("div#three").hide();
$("div#EM").hide();
}
});
$('#showMore').click(function() {
$('#answer').show('slow', function() {
});
});
});
</script>