【问题标题】:Calling JQuery method on body load condition在身体负载条件下调用 JQuery 方法
【发布时间】:2015-07-28 05:55:09
【问题描述】:

在 php 应用程序中添加新数据和修改同一页面上的现有数据,有选择是或否的单选按钮,但它运行良好,它调用

$(document).ready(function(){

    $('input[type="radio"]').click(function(){
        if($(this).attr("value")=="yes"){
            $(".box").hide();
            $(".buttn").show();
        }
        if($(this).attr("value")=="no"){
            $(".box").hide();
            $(".buttn").show();
        }
     });
  });

});

上述方法,但为了修改页面加载,我想根据 DB 表值将值传递给上述方法。比如在body标签上调用特定的JS方法。

【问题讨论】:

    标签: javascript php jquery


    【解决方案1】:

    如果我对你的理解很好,你只需将你的代码修改为一些自定义函数,而不是 jquery on body load..试试这个:

    $.fn.myfunc = function(){
    
        $('input[type="radio"]').click(function(){
            if($(this).attr("value")=="yes"){
                $(".box").hide();
                $(".buttn").show();
            }
            if($(this).attr("value")=="no"){
                $(".box").hide();
                $(".buttn").show();
            }
         });
      });
    
    };
    

    当您从数据库中提取内容之后,您只需调用它:

    $.fn.myfunc()

    如果你需要传递一些变量,你可以这样做

    $.fn.myfunc(var1, var2) 但你需要适当地修改你的函数

    【讨论】:

      【解决方案2】:

      您可以在生成 HTML 页面期间执行此操作。通常,这取决于您使用的模板引擎。但是,对于普通的 PHP,它可能是这样的:

      <?php
      $boxClass = 'box';
      $btnClass = 'buttn';
      if ($valueFromDb == 'yes') {
        $boxClass .= ' hidden';
      } else {
        $btnShow .= ' hidden';
      }
      ?>
      <!-- some HTML code -->
      <div class="<?= $boxClass; ?>">Here is a box</div>
      <div class="<?= $btnClass; ?>">Here is a button</div>
      

      并将.hidden CSS 类定义为.hidden { display: none; }。这样一来,你就可以在没有 JS 的情况下隐藏所有需要的块。

      UPD:此外,您可以像这样渲染整个 HTML 块,而不是在 if 条件内生成类:

      <?php if ($someValue == true) { ?>
      
      <!-- render first HTML block -->
      
      <?php } else { ?>
      
      <!-- render another HTML block -->
      
      <?php } ?>
      

      这种方式可能更合适。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-22
        • 2015-06-13
        • 2013-09-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多