2

选中复选框时,我需要显示一行文本。我知道这很简单,但是我对此很陌生,当我尝试阅读此问题的其他答案时,我迷路了。

这就是我所拥有的:

 function RiskPlanRqd()
  {
    $('#RiskMgmt').click(function()
    {
        if ($("#RiskMgmt").is(':checked')) 
        {
            $(".togglevisibility").show();
        } 
        else 
        {   
            $(".togglevisibility").hide();
        }
    }       )
  }

然后对于我有的复选框:

<input type="checkbox" id="RiskMgmt" />Risk Management Plan<br />

如果选中我想显示的文本,我有:

<td> <id="PlanStatus"; class="togglevisibility">Plan Status: </td>
4

4 回答 4

4

快速解决...

可以通过修复错字和值检查来解决此问题...

if ($("#RiskMgmtPlan").val() == '1')应该if ($("#RiskMgmt").is(':checked')

Function应该是function

您还在复选框上打错了 ID 声明。

但是,你可以用 lambda 来做到这一点......

$('#RiskMgmt').click(function(){
    if ($("#RiskMgmt").is(':checked')) {
        $("#PlanStatus").show();
        $("#CreatePlan").show();
        $("#NotStarted").show();
    } else {
        $("#PlanStatus").hide();
        $("#CreatePlan").hide();
        $("#NotStarted").hide();
    }
});

而且,您可以通过分配类来删除 4 行代码......

添加class='togglevisibility'到您要显示和隐藏的三个元素,然后将上面的内容更改为:

$('#RiskMgmt').click(function(){
    if ($("#RiskMgmt").is(':checked')) {
        $(".togglevisibility").show();
    } else {
        $(".togglevisibility").hide();
    }
});
于 2013-08-08T21:38:29.417 回答
2

简化版.. 绑定事件,然后根据复选框状态切换可见性。

$('#RiskMgmt').change(function(e) {
    $("#PlanStatus, #CreatePlan, #NotStarted").toggle(this.checked);
});
于 2013-08-08T21:41:35.937 回答
0

尝试这个:

$('#RiskMgmt').click(function(){
  if (this.checked) 
  {
    $("#PlanStatus").show();
    $("#NotStarted").show();    
  }
});

这不应该更难,如果复选框被选中,显示任何你想要的。

于 2013-08-08T21:45:46.630 回答
0
jQuery(document).ready(function ($) {
    $('#RiskMgmt').bind('click',RiskPlanRqd);
});

应该管用。

或者:

<input type="checkbox" value "1" id="RiskMgmt" onclick="RiskPlanRqd();" />Risk Management Plan<br />

也应该工作。

于 2013-08-08T21:37:35.143 回答