PHP中的可隐藏数组(下拉列表)

时间:2012-11-29 03:23:57

标签: php arrays

我会尽量简明扼要。

我不太了解PHP。我有一个看起来太长的数组:

http://i.stack.imgur.com/u4y11.jpg(无法发布图片,请点击)

正如你所看到的,有7种选择,它看起来很丑陋而且很长。

我想将它们分成可隐藏的部分。像:

3个第一选项[点击此处下拉选项] 4个最新选项[点击此处下拉选项]

而不是

选项1 选项2 选项3 选项4 选项5 选项6 选项7

你知道吗?

如果有人能就这件事给我一个启示,我将深表感激:

这基本上是7份副本和贴纸:


    $url_bgcolor =  get_bloginfo('stylesheet_directory') . '/admin/images/bgcolor/';
    $options[] = array( "name" => "Cor da letra do titulo da pagina",
                        "desc" => "Selecione a cor secundária do seu website.",
                        "id" => $shortname."_style2",
                        "std" => "",
                        "type" => "images",
                        "options" => array(
                                'default2.css' => $url_bgcolor . 'dark.png',
                                'black2.css' => $url_bgcolor . 'black.png',
                                'green2.css' => $url_bgcolor . 'green.png',
                                'blue2.css' => $url_bgcolor . 'blue.png',
                                'purple2.css' => $url_bgcolor . 'purple.png',
                                'orange2.css' => $url_bgcolor . 'orange.png',
                                'red2.css' => $url_bgcolor . 'red.png'
                ));

1 个答案:

答案 0 :(得分:0)

为了页面上的hide/show元素,您需要使用像javascript这样的客户端脚本。这是一个简单的javascript函数,可以在您的数组showinghiding之间切换。

在你的html的<head>中添加以下脚本/功能 -

<script type="text/javascript"> 
function toggleView(aid, id, text) {
    var divView = document.getElementById(id);
    var anchor = document.getElementByID(aid);

   if (divView.style.display != "block") {
       divView.style.display = "block";
       anchor.innerHTML = "click here to hide " + text + " options";
   } else {
      divView.style.display = "none";
      anchor.innerHTML = "click here to show " + text + " options";
   }
}
</script>

然后在您的<body>中,您将创建一个<a>锚点和一个<div>

您的锚标记和div将如下所示:

<a id="toggle3" onclick="toggleView('toggle3', 'options3', 'first 3')">click here to show first 3 options</a>
<div id="options3" style="display: none">
Option 1
Option 2
Option 3
</div>

<a id="toggle4" onclick="toggleView('toggle4', 'options4', 'last 4')">click here to show last 4 options</a>
<div id="options4" style="display: none">
Option 4
Option 5
Option 6
Option 7
</div>

编辑11/30

我将如何做到这一点 -

<强>的Javascript
admin-interface.php的第438行,<?php }之前添加javascript function()

    <?php  
    //Hide/Show Image Groups  
    ?>  
<script type="text/javascript">   
function toggleView(aid, id, text) {  
    var divView = document.getElementById(id);  
    var anchor = document.getElementByID(aid);  

if (divView.style.display != "block") {
   divView.style.display = "block";
   anchor.innerHTML = "click here to hide " + text + " options";
} else {
  divView.style.display = "none";
  anchor.innerHTML = "click here to show " + text + " options";
}
}
</script>

<强>锚定/ DIV
admin-interface.php的第603行,在//$output .= '<div class="section ...添加anchors<div>之前 注意:如果您已经添加了上面的javascript function(),则可能是#621行而不是#603

if ($value['type'] == "images" && $counter == 1)
{$output .= '<a id="toggle3" onclick="toggleView(\'toggle3\', \'options3\', \'first 3\')">click here to show first 3 options</a>'."\n" . '<div id="options3" style="display: none">'."\n";}
if ($value['type'] == "images" && $counter == 4)
{$output .= '<a id="toggle4" onclick="toggleView(\'toggle4\', \'options4\', \'last 4\')">click here to show last 4 options</a>'."\n" . '<div id="options4" style="display: none">'."\n";}

admin-interface.php的第957行,在#958-960的}$output .= '</div>';return array($output,$menu);之前,添加</div>结束标记
注意:如果您已经添加了上面的javascript function()以及anchors<div>,那么它可能是#979行而不是#957

if ($value['type'] == "images" && ($counter == 1 || $counter == 4))
{$output .= '</div>'."\n";}