1 页上的 2 个选择下拉列表存在问题


issue with 2 select dropdowns on 1 page

我在Joomla中遇到了一个问题,我有一个模块可以从菜单中创建一个选择下拉列表。

如果我在一个页面上只有 1 个下拉菜单,效果很好 - 如果我有 2 个下拉菜单,通过从另一个菜单(即 dropdown1 和 dropdown2)中提取模块的另一个实例,页面就会崩溃。

我想知道它是否与我的模块默认中的以下代码有关.php tmpl 文件:

<?php
// No direct access.
defined('_JEXEC') or die;
?>
<form name="SelMenFrm">
<?php if($params->get('showLabel') == 1) echo $params->get('selectLabel')."&nbsp;"; ?>
<select name="SelMenSel" class="<?php echo $class_sfx;?>" onchange="javascript:location.href=document.SelMenFrm.SelMenSel.options[document.SelMenFrm.SelMenSel.selectedIndex].value;">
<option><?php echo $params->get('topText');?></option>
<?php
foreach ($list as $i => &$item) :
    // Determine if item shoud be set as selected
    $selected = "";
    if (($item->home == 0) && ($item->id == $active_id)) $selected = "selected='"selected'"";
    // Set indent
    if ($item->level == 1) $indent = "";
    if ($item->level == 2) $indent = "&nbsp;-&nbsp;";
    if ($item->level == 3) $indent = "&nbsp;-&nbsp;&nbsp;-&nbsp;";
    if ($item->level == 4) $indent = "&nbsp;-&nbsp;&nbsp;-&nbsp;&nbsp;-&nbsp;";
    if ($item->level == 5) $indent = "&nbsp;-&nbsp;&nbsp;-&nbsp;&nbsp;-&nbsp;&nbsp;-&nbsp;";
    if ($item->level == 6) $indent = "&nbsp;-&nbsp;&nbsp;-&nbsp;&nbsp;-&nbsp;&nbsp;-&nbsp;&nbsp;-&nbsp;";
    echo "<option ".$selected."value='"".$item->flink."'">".$indent.$item->title."</option>";
endforeach;
?>
</select></form>

任何想法/帮助将不胜感激;)

谢谢

$indent = str_repeat("&nbsp;",($item->level>=1?($item->level-1):0));

那怎么办?

如果你使用以下代码加载模块:

<select name="SelMenSel" class="<?php echo $class_sfx;?>" onchange="javascript:location.href=document.SelMenFrm.SelMenSel.options[document.SelMenFrm.SelMenSel.selectedIndex].value;"

然后它们就不能工作了,因为它们将具有相同的 ID,并且 onchange 依赖于 id 来标识 select: 文档。SelMenFrm.SelMenSel