问题描述
我有一个响应式菜单。切换机制是通过CSS复选框和次要的JQuery脚本实现的,该脚本可以折叠菜单分支的其他分支。 Opencart的每个类别都有一个ID,我在Twig中将其传递给每个菜单。当客户选择类别商品时,当然会随着类别URL的更改而重新加载整个DOM。我抓取并切下了网址,并从网址/ category&path = 231_435获得了最后三位数字。因为我只需要435。我将eseese和“ toggler”一词打包到变量var选择器中。使用Firefox DOM控制台时,以下两个命令: $('#tm')。prop(“ checked”,true); $('#toggle435')。prop(“ checked”,true); 在控制台中按预期工作。我的语法和转义/传递变量只是在杀了我,有人可以帮助我。我只是想让类别菜单在客户点击的地方打开。 这是带有Jquery的树枝。我怀疑我在这里遇到语法问题: $('#'+选择器).prop(“选中”,true);
这是树枝:
{% if categories %}
<div class="container sticky_menu">
<nav id="menu">
<label for="tm" id="toggle-menu">{{ text_category }} <span class="drop-icon">▾</span></label>
<input type="checkBox" id="tm">
<ul class="main-menu clearfix" >
{% for category in categories %}
{% if category.children %}
<li>
<a>{{ category.name }}
<span class="drop-icon">▾</span>
<label title="Toggle Drop-down" class="drop-icon" for="toggle{{ category.category_id }}">▾</label>
</a>
<input type="checkBox" id="toggle{{ category.category_id }}" class="switch">
{% for children in category.children|batch(category.children|length / category.column|round(1,'ceil')) %}
<ul class="sub-menu">
{% for child in children %}
<li>
<a href="{{ child.href }}"> {{ child.name }}
<span class="drop-icon">▾</span>
<label title="Toggle Drop-down" class="drop-icon" for="toggle{{ child.category_id }}">▾</label>
</a>
<input type="checkBox" id="toggle{{ child.category_id }}" class="switch2">
{% if child.children %}
<ul class="sub-menu sub-sub-menu">
{% for children in child.children %}
<li>
<a href="{{ children.href }}">{{ children.name }}</a>
</li>
{% endfor %}
</ul>
{% endif %}
</li>
{% endfor %}
</ul>
{% endfor %}
</li>
{% endif %}
{% endfor %}
</ul>
</nav>
</div>
<script>
$(document).ready(function(){
var pageURL = $(location).attr("href");
var lastSeg = (pageURL.slice(pageURL.length - 3));
var toggler = "toggle";
var selector = toggler + lastSeg;
$('#tm').prop("checked",true);
$('#' + selector).prop("checked",true);
alert(selector);
});
</script>
<script>
var items = $('.switch');
items.on('click',function(){
items.not($(this)).prop('checked',false);
});
</script>
<script>
var items2 = $('.switch2');
items2.on('click',function(){
items2.not($(this)).prop('checked',false);
});
</script>
{% endif %}
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)