jQuery .prop()检查不起作用

时间:2014-07-03 08:33:52

标签: javascript jquery

我有以下功能,当我选中一个复选框' chx'时,调试器告诉我' name'未定义。我不明白这里的错误是什么:

<script>
   function nameF() {
       $('#chx').prop('checked') ? $('div').slideDown() : $('div').slideUp();
   }
</script>

复选框:

<asp:CheckBox ID="chx" runat="server" Text="Text" onchange="nameF('div')" />

编辑:

看起来没有一个答案显示div,

   function medicalProblems(Medfurtherdetails) {
                  $('#chxMedicalVision').prop('checked') ? $(Medfurtherdetails).show() : $(Medfurtherdetails).hide();
   }

复选框:

<asp:CheckBox ID="chxMedicalVision" runat="server" Text="Vision" onchange="medicalProblems('Medfurtherdetails')" />
div:

    <div id="Medfurtherdetails" style="display:none"></div>

现在这是workign,尽管没有检查任何内容时没有隐藏div:

   function medicalProblems(thediv) {
       if ($("#chxMedicalVision").prop('checked') || $("#chxMedicalHearing").prop('checked') || $("#chxMedicalSpeech").prop('checked'))
       {
        $("#" + thediv).slideUp();
      }
      else
    {
        $("#" + thediv).slideDown();
    }
}

3 个答案:

答案 0 :(得分:0)

更改

$('#chx').prop('checked') ? $(element).slideDown() : $(element).slideUp();

$(this).prop('checked') ? $(element).slideDown() : $(element).slideUp();

并删除其他答案中提到的'div'参数。

答案 1 :(得分:-1)

<script>
   function nameF(x) {
   $('#chx').prop('checked') ? $('div').slideDown() : $('div').slideUp();
  }
</script>

<asp:CheckBox ID="chx" runat="server" Text="Text" onchange="nameF('div')" />

如果你想传递一个参数,那么应该有一个将保留在其中的变量。

答案 2 :(得分:-1)

从此

中删除'div'
<asp:CheckBox ID="chx" runat="server" Text="Text" onchange="nameF('div')" />

应该是这样的

<asp:CheckBox ID="chx" runat="server" Text="Text" onchange="nameF()" />

做这样的事情

<script>
   function nameF(mydiv) {
       $('#chx').prop('checked') ? $('#'+mydiv).slideDown() : $('#'+mydiv).slideUp();
   }
</script>