我想知道是否有可能在一个类中有一个函数,你在同一页面上调用,但它需要从数组中回显不同的东西。
我的意思是:
如果这是我的阵列:
| Day | Comment |
|-----|---------|
| 1 | hallo |
|-----|---------|
| 2 | hey |
|-----|---------|
| 3 | hello |
|_____|_________|
如果我点击第1天,那么应该出现数组中= day = 1的内容,如果我点击第2天,则应该出现第2天的内容。
是否可以创建一个函数来执行此操作,并且我可以在具有相同功能的同一页面上进行回显。 像:
--------------------------------------------
| <div id="day1"> content day 1 </div> |
| <div id="day1"> content day 2 </div> |
| <div id="day1"> content day 3 </div> |
--------------------------------------------
答案 0 :(得分:0)
是的,如果你使用JQuery是可能的,但这看起来像是一个中间解决方案,所以我会尽力解释。您可以参考下面的代码并将它们放在与PHP相同的页面中。
1)首先在标题中加载Jquery,假设您的数组变量名为myarray
。
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
2)最好在页面顶部添加以下脚本部分。
<script type="text/javascript">
$('#day1').click(function(){
$(this).html(myarray[0]);
});
$('#day1').click(function(){
$(this).html(myarray[1]);
});
$('#day1').click(function(){
$(this).html(myarray[2]);
});
</script>
3)代码的解释,Jquery通过查找任何元素的id
或class
并执行某些操作来工作。当用户单击或执行操作时(在您的情况下,我会假设通过单击div)Jquery将参考上面的脚本并查看它是否与任何div的id匹配。如果找到匹配项,它将触发单击功能并执行任务。
4)$(this).html
是一个在div的内容之间显示html或文本的函数,在这种情况下,这将是你的数组的值。 this
表示用户点击的元素,并根据id
名称而变化。
尝试一下,你会对Jquery可以做的事情留下深刻的印象,很快你会沉迷于它。 :)干杯!
5)一个更可重用且动态的函数,它将裁剪id's
名称,以便在添加更多数据时选择数组。
在div html代码中,请为所有div添加一个类,如下所示。
<div class='onClickLoadArray' id='day1'></div>
<script type="text/javascript">
$('.onClickLoadArray').click(function(){
var tmpArrayCount = ($(this).attr('id').replace('day', ''))-1;
$(this).html(myarray[tmpArrayCount]);
});
</script>
我还没有对此进行测试,但这应该可行,它会将div的id删除为数字然后减1,因为数组以0开头。然后将数组的值加载到单击它的div中。