复选框oncheck javascript

复选框oncheck javascript,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,我有一个复选框,我需要在单击时显示一个div。我有3个不同的Javascript,我试图使用它们 //function showhide() { // var checkbox = document.getElementById("assist"); // var expanded1 = document.getElementById("expanded"); // var expanded2 = document.getElementById("expanded2"); /

我有一个复选框,我需要在单击时显示一个div。我有3个不同的Javascript,我试图使用它们

//function showhide() {
//    var checkbox = document.getElementById("assist");
//    var expanded1 = document.getElementById("expanded");
//    var expanded2 = document.getElementById("expanded2");

//    expanded1.style.visibility = (expanded1.style.visibility == 'false') ? "true" : "false";
//    alert('test');
//}
function(){
var checkbox = document.getElementById("assist");
var expanded1 = document.getElementById("expanded");
var expanded2 = document.getElementById("expanded2");
checkbox.onchange = function () {
    expanded1.style.visibility = this.checked ? 'true' : 'false';
    alert('test');

}
//function check() {
//    $('chk').click(function () {
//        if (this.checked) {
//            $("#expanded").show();
//            $("#expanded2").show();
//        }
//        else {
//            $("#expanded").hide();
//            $("#expanded2").hide();
//        }
//    });
//}
这是下面的复选框

<input type="checkbox" runat="server" id="assist"  onclick="showhide();" /></div>

需要显示/隐藏的div被展开和展开2


我无法从复选框中点击javascript函数。是否有人能告诉我出了什么问题。

使用
窗口。onload
事件分配更改处理程序并从HTML中删除内联
onclick
。此外,可见性CSS应为
可见
隐藏


要使用Jquery隐藏DIV,可以尝试以下代码:

使用
$(this).is(':checked')

html


你的代码;
这就可以了:)
jquery


$(文档).ready(函数(){
$('#mycheckboxdiv1').hide();
$(“#辅助”)。单击(函数(){
如果($('#assist')。是(':checked')){
$('#mycheckboxdiv1').toggle();
}
其他的
{
$('#mycheckboxdiv1').hide();
}
});
});

这里是fiddle,您已经在使用jQuery了,所以您可以使用:

$("#assist").change(function(){
   $("#expanded, #expanded2").toggle();
});

true
false
不是
可见性
属性的有效值,因此这可能是您的问题:无名的
函数()到底是什么
在那里做什么?你的showHide代码对我来说很好:我猜showHide get hit但是我得到了一个样式被设置为null error它确实命中了这个函数但是我得到了一个cannot set property onchange to null error。听起来你的代码没有在
窗口中运行。如果元素为null,onload
事件。我可以让它点击我的showhide函数。这将在加载所有元素后发生。我也因此得到了这个错误。$(“#assist”).change(function(){$(“#expanded,#expanded2”).css('display',this.checked?'block':'none');alert('test');});我将可见性更改为“显示”,但它无法正常工作。我将jquery添加到文件的顶部also@user3494929把它放在$(document.ready(function(){…})$(document.ready(function(){$(“#assist”).change(function(){$(“#expanded,#expanded2”).css('display',this.checked?'block':'none');alert('test');});这样地?单击复选框,它仍然没有做任何事情。@user3494929您能给我看一个JSFIDLE示例,说明它不工作吗?如果我没有关于问题本身的足够信息,我就无法解决问题。@user3494929如果我的答案正确,请告诉我:)谢谢
 $('.chk').click( function () {
    var $this = $(this);
    if( $this.is(':checked') == true ) {
       $("#div1").show();        
    }  else {
       $("#div1").hide();

    }    
});
 <input type="checkbox" runat="server" id="assist"  onclick="showhide();" />



            <div class="required1" id="mycheckboxdiv1" style="display:none" >
                your code;
            </div>
<script>
$(document).ready(function() {

    $('#mycheckboxdiv1').hide();

    $('#assist').click(function(){


            if($('#assist').is(':checked')){

                        $('#mycheckboxdiv1').toggle();
              }
          else 
              {
                $('#mycheckboxdiv1').hide();

              }
       });

});

</script>
$("#assist").change(function(){
   $("#expanded, #expanded2").toggle();
});