[英]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.