我想创建一个功能切换菜单。JQuery帮助创建切换功能
想我想做的事:
当在菜单项DIV用户点击其复选框应检查和minimenu应该下方显示。
如果用户再次点击menuitem div,minmenu应该隐藏,menuitems复选框应该被取消。
我有一个DIV不工作测试:
$('div#category1').click(function(e){
$('div#minimenu1').removeClass('hidediv');
$('div#minimenu1').addClass('someclass').show(200);
$('div#minimenu1').toggle(200);
});
});
我的CSS:
.hidediv {display:none;}
我的HTML:
<div class="menuitem" id="category1">
<label for="search_company1">company1</label>
<input name="search[company1_is_true]" type="hidden" value="0" /><input id="search_company1_is_true" name="search[company1_is_true]" type="checkbox" value="1" />
</div>
<div class="hidediv" id="minimenu1">
<label for="search_company3">company3</label>
<input name="search[company3_is_true]" type="hidden" value="0" /><input id="search_company3_is_true" name="search[company3_is_true]" type="checkbox" value="1" />
</div>
<div class="category2">
<label for="search_company2">company2</label>
<input name="search[company2_is_true]" type="hidden" value="0" /><input id="search_company2_is_true" name="search[company2_is_true]" type="checkbox" value="1" />
<div>
<div class="hidediv" id="minimenu2">
<label for="search_company3">company3</label>
<input name="search[company3_is_true]" type="hidden" value="0" /><input id="search_company3_is_true" name="search[company3_is_true]" type="checkbox" value="1" />
</div>
<input id="submit" name="commit" style="display:none;" type="submit" value="Submit" />
</form>
UPDATE:
现在我已经创建了我想要使用的代码,但是如何创建一个智能函数以便我不需要为每个menuitem重复一遍又一遍的代码?
的组别我的jQuery代码:
$(function() {
$('div#category1').toggle(function() {
$('div#minimenu1').removeClass('hidediv');
$('div#category1').addClass('clicked').show(200);
$('div#minimenu1').addClass('someclass').show(200);
$('div#category1 input:checkbox').attr('checked','checked');
}, function() {
$("div#category1 input:checkbox").prop("checked", false);
$('div#minimenu1').addClass('hidediv');
$('div#category1').removeClass('clicked');
});
});
我的类别2 jQuery代码: $(函数(){
$('div#category2').toggle(function() {
$('div#minimenu2').removeClass('hidediv');
$('div#category2').addClass('clicked').show(200);
$('div#minimenu2').addClass('someclass').show(200);
$('div#category2 input:checkbox').attr('checked','checked');
}, function() {
$("div#category2 input:checkbox").prop("checked", false);
$('div#minimenu2').addClass('hidediv');
$('div#category2').removeClass('clicked');
});
});
你是否尝试自己写一些代码? – JMax
是的,我已经发布在我的问题 –