【发布时间】:2014-06-25 15:33:32
【问题描述】:
我想选择一个类别和子类别 - 所以当我按下一个类别时,它会在它旁边显示所有子类别。
我已经让它与 html 和 js 一起工作,但现在我在我的网站上动态地制作它
这就是我现在使用的东西
var categories_0 = [
<?php while ( fanapom_has_categories() ) { ?>
["<?php echo fanapom_category_id() ; ?>","<?php echo fanapom_category_name() ; ?>"],
<?php } ?>
];
<?php while ( fanapom_has_categories() ) { ?>
var categories_<?php echo fanapom_category_id() ; ?> = [<?php while ( fanapom_has_subcategories() ) { ?>["<?php echo fanapom_category_id() ; ?>","<?php echo fanapom_category_name() ; ?>"],<?php } ?>];
<?php } ?>
但我使用了此代码两次 - 但我发现它只工作一次。
<?php while ( fanapom_has_categories() ) { ?>
如果我单独使用这个
var categories_0 = [
<?php while ( fanapom_has_categories() ) { ?>
["<?php echo fanapom_category_id() ; ?>","<?php echo fanapom_category_name() ; ?>"],
<?php } ?>
];
或仅此而已
<?php while ( fanapom_has_categories() ) { ?>
var categories_<?php echo fanapom_category_id() ; ?> = [<?php while ( fanapom_has_subcategories() ) { ?>["<?php echo fanapom_category_id() ; ?>","<?php echo fanapom_category_name() ; ?>"],<?php } ?>];
<?php } ?>
我得到正确的输出
但是当我将它们混合在一起时,我只能得到第一个的输出,
我怎样才能让它工作给我正确的输出?我想我不应该两次使用这段代码
<?php while ( fanapom_has_categories() ) { ?>
但我不确定如何将两者混合在一起 - 请帮助。
M O R E I N F O
这是我希望输出的样子
var categories_0 = [
["1", "maincategoryname"],
["2", "maincategoryname"],
["3", "maincategoryname"],
["4", "maincategoryname"],
["5", "maincategoryname"],
["6", "maincategoryname"],
["7", "maincategoryname"],
["8", "maincategoryname"]
];
var categories_1 = [
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"]
];
var categories_2 = [
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"]
];
var categories_3 = [
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"]
];
var categories_4 = [
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"]
];
var categories_5 = [
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"]
];
var categories_6 = [
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"]
];
var categories_7 = [
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"]
];
var categories_8 = [
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"],
["subcategoryid", "subcategoryname"]
];
1 2 3 4 5 6 7 8 数字是主要类别 ID
【问题讨论】:
-
分类的来源是什么? PHP数组?我想知道为什么在源数据上使用函数而不是循环。
-
我认为在此处和/或在 JSFiddle 中发布有效的 HTML/JS 也会有所帮助。
-
好的,我将添加到 jsfiddle
-
嗨,这就是我想要实现的目标 - jsfiddle.net/GTGuX 在我的示例中,所有 osc 都替换为 fanapom(我的函数名称)
-
您知道,最好一次创建所有数组,然后使用
json_encode回显它们。 :P 除了总体上更安全之外,您在 PHP 模式和 JS 模式之间的不断切换会破坏可读性。 (特别是因为您使用<?php echo而不是<?=。:P)
标签: javascript php frameworks