簡體   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