【问题标题】:jquery checkbox check not workingjquery复选框检查不起作用
【发布时间】:2023-03-03 01:41:01
【问题描述】:

我有一个小脚本,功能非常简单。如果未选中该复选框,则如果用户单击它,则显示一个 div,否则当用户单击它时隐藏该 div。脚本是(它在 PHP 代码中):

echo 
'<script> 
$(document).ready(function(){

if($("#chk_id'.$bank_name.'").is(":checked"))
{


   $("#chk_id'.$bank_name.'").click(function(){
      $("#form_show'.$bank_name.'").hide(300);
   });

}
else
{ 

    $("#chk_id'.$bank_name.'").click(function(){

    //alert("ddd");

    $("#form_show'.$bank_name.'").show(300);
   });
}
});    


</script>';

但问题是虽然显示 div 正在工作,但我无法隐藏 div !怎么了? javascript库:&lt;script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"&gt;&lt;/script&gt;

【问题讨论】:

  • 向我们展示您在 JSFiddle 中的示例
  • 如果你也可以添加你的html代码

标签: jquery checkbox show-hide


【解决方案1】:

此处是另一个答案的简化版本:

$(document).ready(function() {
    $("#chk_id' . $bank_name . '").change(function() {
        $("#form_show' . $bank_name . '")[this.checked ? 'show' : 'hide'](300);
    }).change();
});

【讨论】:

    【解决方案2】:

    试试这个:

    Demo

     $("#chk_id").click(function(){
           if($('#chk_id:checked').length > 0){
              $('.bank_name').hide(300);
           }
           else{
              $('.bank_name').show(300);
           }
       });
    

    我猜到了你的 html 实现。您可能不需要在选择器中包含 #form_show

    或者,您可以使用切换来执行以下操作:

    tioggle demo

    // code to initialize state before click
    
    $("#chk_id").click(function(){    
        $('.bank_name').toggle(300);            
    });
    

    希望对你有帮助

    【讨论】:

      【解决方案3】:

      我认为你的函数应该是这样的:

      function checkBankName(){
          if($("#chk_id'.$bank_name.'").is(":checked"))
          {
              $("#form_show'.$bank_name.'").show(300);
          }
          else
          {
              $("#form_show'.$bank_name.'").hide(300);
          }
      }
      
      $(document).ready(function(){
          // first time
          checkBankName();
      
          // on check
          $("#chk_id'.$bank_name.'").click(function(){
              checkBankName();
          });
      });   
      

      【讨论】:

        【解决方案4】:

        试试这个:

        $(document).ready(function(){
            $('body').on('click', "#chk_id'.$bank_name.'", function() {
                if($("#chk_id'.$bank_name.'").is(":checked")) {
                    $("#form_show'.$bank_name.'").hide(300);
                } else {
                    $("#form_show'.$bank_name.'").show(300);
                }
            });
        });
        

        【讨论】:

          猜你喜欢
          • 2016-03-13
          • 1970-01-01
          • 2021-08-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-30
          • 2019-05-06
          相关资源
          最近更新 更多