Флажок показывает скрытое поле - не работает при загрузке

Я использую этот, вероятно, уродливый javascript, чтобы показать текстовое поле (в теге li плюс его метку), если флажок установлен.

   $("#li-2-21").css("display","none");
   $("#Languages-spoken-and-understood-8").click(function(){
    if ($("#Languages-spoken-and-understood-8").is(":checked"))
    {
        $("#li-2-21").show("fast");
    }
    else
    {     
        $("#li-2-21").hide("fast");
    }
  });

Это работает нормально, но не работает, если страница загружена и флажок уже установлен, потому что # li-2-21 автоматически скрывается.

Нужно ли создавать функцию, которая читает состояние флажка? Или есть более простой способ?

Да, и не стесняйтесь сокращать этот уродливый код, я думаю, что есть более короткий путь для достижения моей цели? Большое спасибо за Вашу помощь!

Ответы на вопрос(3)

Ваш ответ на вопрос