繁体   English   中英

用PHP创建简单的JS

[英]creating simple JS with PHP

我试图用PHP重新创建下面的JS。 原因是编号的类和值实际上是从mysql数据库中提取的ID。 我在一个区域中创建报告,下面的代码显示和隐藏该报告的规则。 由于不同的报表具有不同的规则,因此它会根据分组显示和隐藏规则,这些规则在以下代码中确定为#rule_who。

当尝试重新创建以下内容时,我尝试使用while循环,但是它非常荒谬。 JavaScript或AJAX中是否存在更有效的方式来显示和隐藏div,而该div更适合于使用大量div? 2,3,4等不应是递增的数字,因为它会依赖ID,因此随着报告的删除,某些数字会随着时间的流逝而消失。

任何帮助,将不胜感激。 谢谢

<script>
//<![CDATA[ 
$(window).load(function(){
   $(".2").hide();
   $(".3").hide();
   $(".4").hide();
        $('#rule_who').on('change', function () {

    if(this.value === "2"){
   $(".2").show();
   $(".3").hide();
   $(".4").hide();
    } else if(this.value === "3"){
   $(".2").hide();
   $(".3").show();
   $(".4").hide();
    } else if(this.value === "4"){
   $(".2").hide();
   $(".3").hide();
   $(".4").show();
    } else {
   $(".2").hide();
   $(".3").hide();
   $(".4").hide();
    }

});
});//]]>  

</script>

编辑:谢谢大家的帮助。

我最终使用的是以下内容:

<script type='text/javascript'>//<![CDATA[ 
$(window).load(function(){

$("#rule_who").change(function() {
    $("div.specific_rules").hide();
    var targetId = $(this).val();

    console.log($(targetId).html());
    // show the new selected one
    $("#"+targetId).show();
});
});//]]>  

</script>

我认为您可以:

$('.' + this.value).show();
$('.' + this.value).siblings().hide();

试试这个( 这里是示例 ):

$('.1, .2, .3').hide();    
 $(window).load(function(){
        $('#rule_who').on('change', function () {
           var elems = document.getElementsByTagName('div');
                for (var i = 0; i < elems.length; i++) {
                    if (elems[i].className != this.value) {
                        elems[i].style.display = 'none';
                    } else {
                        elems[i].style.display = 'block';
                    }
                }
        });
  });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM