【问题标题】:PHP dynamic options in select inside htmlhtml中select中的PHP动态选项
【发布时间】:2020-06-13 07:42:18
【问题描述】:

我有从 API json 文件中获取的类别和子类别,API 返回具有“父”属性的类别对象,主类别对象的父属性等于 0,子类别对象的父属性等于主要类别 ID。

主要类别的代码是`

<label for="Category"> Main Category</label>
                     <select id="category">
                    <?php foreach ($obj as $category):?>
                    <?php if($category->parent==0) : ?>
                     <option value=<?=$category->id?>><?=$category->name?></option>
                     <?php endif; ?>
                     <?php endforeach; ?>
                     </select>

` $obj 等于从 api 获取的 json 解码。
我如何编写子类别的代码?我想要子类别->父级等于上面选择的所选类别“类别-> id”的id的选项

【问题讨论】:

    标签: javascript php html jquery drop-down-menu


    【解决方案1】:

    所以 $obj 是所有类别的列表。有些是父母,有些是孩子(子类别)?

    有没有办法在 API 端嵌套类别,以便它以 var 的形式返回父对象上的子对象,或者为每个父对象都可以访问的子对象创建一个单独的对象?

    如果这些不是一个选项,请在创建选择字段之前格式化类别,以便您可以更清晰地生成子项,或者在当前 foreach 中添加一个嵌套循环,以检查某个类别是否是当前类别。

    这很难看,我还没有测试过,但你也许可以这样做:

    foreach ($obj as $category) {
        if ($category->parent==0) {
            echo "<option value='" . $category->id . "'>$category->name</option>"
            foreach ($obj as $subCategory) {
                if ($subCategory->parent != 0 && $subcategory->parent == $category->id) {
                    echo "<option value='" . $subcategory->id . "'>$subcategory->name</option>"
                }
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-03-02
      • 1970-01-01
      • 2010-09-23
      • 1970-01-01
      • 2013-09-28
      • 1970-01-01
      • 2013-01-23
      • 2013-06-13
      • 2020-02-25
      相关资源
      最近更新 更多