在php中使用select选项

时间:2018-04-27 06:34:36

标签: javascript php html css

我正在创建一个程序,其中我有三个选择归档;主要类别,子类别和finalCategories。所以我想要的是当我从主要类别中选择任何选项时,应在子类别字段中显示相关所选类别的子类别。此外,当我从子类别选择任何选项时,相关子类别的finalCategories应显示在finalcategory字段中。

示例;

                <select id="mainCategories">
                    <option>Fashion</option>
                    <option>Electronics</option>
                    <option>Another Thing</option>
                </select>

时尚的子类别就像

  1. 男装时尚
  2. 女性时尚
  3. 童装时尚
  4. 男装时尚的finalCategories就像;

    1. 男士裤子
    2. 男士西装
    3. 男鞋
    4. 背心
    5. 这就是所有类别的结构

      见下图

      this is how the select fields looks like

1 个答案:

答案 0 :(得分:1)

尝试使用jQuery为其他选择构建新数据。以下是这个想法:

  1. 循环主类别中的所有数据
  2. 将其他选择的子类别留空,但保留每个选择的ID
  3. 为每个选择
  4. 绑定更改事件

    快速示例:

    &#13;
    &#13;
    // I assume you already have jQuery
    
    $(function(){
      $('select#mainCat').on('change', function(){
        // AJAX Request here to get the subcategory by main category.
        var mainCatId = $(this).val();
        console.log(mainCatId);
        var url = 'http://www.example.com/get_subcat_by_maincat';
        // you can retrieve mainCatId by $_POST['mainCat'];
        var data = {
          mainCat: mainCatId
        };
        $.post(url, data, function(rtn){
          console.log(rtn);
          $('select#subCat').html(rtn);
        }, 'html');
      });
    });
    &#13;
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <select id="mainCat" name="mainCat">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
    </select>
    
    <select id="subCat" name="subCat">
    </select>
    &#13;
    &#13;
    &#13;

    在服务器端:

    <?php
    $optStr = '';
    if($subCatData){
       foreach($subCatData as $value){
          $optStr .= '<option value=".$value->field_one.">".$value->field_two."</option>';
       }
    }
    print $optStr;
    exit;
    ?>
    

    执行与其他子类别类似的操作,并根据您的需要进行创作。