为了账号安全,请及时绑定邮箱和手机立即绑定

如何根据从上一个 [above] 下拉列表中选择的值填充 select2 下拉列表中的选项?

如何根据从上一个 [above] 下拉列表中选择的值填充 select2 下拉列表中的选项?

PHP
动漫人物 2022-01-08 19:58:40
我想使用 select2 js 为用户搜索带来一个下拉列表,下拉列表中的值必须根据所选公司填充,这是该下拉列表上方的下拉列表。我将 XAMPP 版本 5 与 MYSQLI 一起使用。<?php include 'db.php';?> <html><head> <link href='https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css' rel='stylesheet' type='text/css'> <script src="../assets/js/core/jquery.3.2.1.min.js"></script> <link href="../assets/css/bootstrap.min.css" rel="stylesheet" /> <script src="../assets/js/core/bootstrap.min.js"></script> <script src='https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js'></script></head><body><form action="" method="POST" enctype="multipart/form-data" autocomplete="off"><div class="row"><div class="col-sm-2"></div><div class="col-sm-10"><div class="form-group row"><label for="sel1" class="col-sm-2 col-form-label">Company  :</label><div class="col-sm-10"><select onChange="company_info();"   id="company_list"  required class="form-control select2" name="company_id"  ><option value="">Select Company</option><?php $companyDetails=mysqli_query($con, "SELECT * FROM company  order by id desc  ");while($company = mysqli_fetch_assoc($companyDetails)){echo "<option value='".$company['id']."'";echo " >".$company['compName']."</option>";}?> </select></div></div><div id="companyDesc"></div><div class="form-group row"><label for="pthings" class="col-sm-2 col-form-label">To dos :</label><div class="col-sm-10"><select id="selUser" style="width: 200px;"><option value="0">- Search -</option></select></div></div><div class="form-group"><button type="submit" name="add" class="btn btn-default greenbtn btnrightalign">Submit</button></div></div></form></body></html>期输出:我希望 select2 下拉列表中的选项基于从公司中选择的值。例如:在选择公司“ABC Pvt Ltd”时,待办事项下拉列表(select2)值为“页眉、页脚、侧边栏、导航、注册、登录”。在选择公司“RAM Pvt Ltd”时,To dos 下拉列表(select2)的值为“Registration,Login,Search,Payment,Logout”。并且用户搜索功能应该可以正常工作。实际输出:从我的代码中,我可以获得一个 select2 下拉列表,其中选项中的值不是基于从公司下拉列表中选择的选项。并且用户搜索功能无法正常工作。
查看完整描述

2 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

您需要使用公司 ID 添加您的 select2 帖子数据:


$("#selUser").select2({

    ajax: { 

        url: "getData.php",

        type: "post",

        dataType: 'json',

        delay: 250,

        data: function (params) {

            return {

                searchTerm: params.term,

                compId: $("#company_list").val() //here your company data

            };

        },

        processResults: function (response) {

            return {

                results: response

            };

        },

        cache: true

    }

});

然后您可以获取公司 ID$_POST["compId"]并将其添加到您在 get data.php 上的查询中


查看完整回答
反对 回复 2022-01-08
?
MYYA

TA贡献1868条经验 获得超4个赞

快速浏览一下您的代码,我猜您可能遇到了 MySQL 错误。在 getData.php 上,您似乎正在查询一个名为order的表。由于 order 是MySQL 中的保留字,除非表名包含在反引号中,否则这些查询几乎肯定会抛出错误。例如:

$fetchData = mysqli_query($con,"select * from `order` order by id");


查看完整回答
反对 回复 2022-01-08
  • 2 回答
  • 0 关注
  • 140 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信