选择下拉框后动态加载其他数据

在这里插入图片描述
选择目录后,从数据库动态获取数据,并选定父目录

把子目录的id传过去,返回当前目录的名字,父目录的id,名字,然后返回除了当前目录以外的其他目录 ,并且把当前目录的父目录 选定为默认选中项(在遍历的时候加个判断)

<script src="/Scripts/jquery/jquery.min.js" type="text/javascript"></script>
    <script src="/Scripts/layer/layer.js" type="text/javascript"></script>
    <script src="/Scripts/layui/layui.all.js" type="text/javascript"></script>
    <link rel="stylesheet" href="/Scripts/layui/css/layui.css" />
    <script type="text/javascript">
        $(document).ready(function () {
            var selectvalue = ""; //定义这个用来存放选择的value
            layui.use('form', function () {

                var form = layui.form;
                $.get("/api/choosemenu", function (data) {
                    for (var j in data.rows) {
                        //alert(data.rows[j].Name);
                        $("#menuname").append("<option value='" + data.rows[j].menuid + "'>" + data.rows[j].Name + "</option>");

                    }
                    form.render();
                    form.on('select(searchall)', function (data) {
                        //alert(data.value);
                        //console.log(data.value);
                        console.log(data);
                        selectvalue = data.value;    //选定的时候只能获取到value
                        
                        $.get("/chosemenu/others", {menuid:selectvalue},function (dataother) {
                            console.log(dataother);
                            $("#changge").val(dataother.name);   //controller传来的数据让input动态更新
                            
                            for (var g in dataother.rows) {
                                //console.log(dataother.rows[g].menuid);
                                //alert(data.rows[j].Name);
                                if (dataother.rows[g].menuid == dataother.previous) {
                                    $("#searchothers").append("<option value='" + dataother.rows[g].menuid + "' selected>" + dataother.rows[g].Name + "</option>");
                                }else{
                                    $("#searchothers").append("<option value='" + dataother.rows[g].menuid + "'>" + dataother.rows[g].Name + "</option>");
                                }



                            }
                            layui.form.render();
                            
                        })
                        //$("#changge").val(selectvalue);
                        //$("#searchothers").append("<option value='" + "2" + "' selected >" + "gg" + "</option>");
                        //把子目录的id传过去,返回当前目录的名字,父目录的id,名字,然后返回除了当前目录以外的其他目录 ,并且把当前目录的父目录 选定为默认选中项(在遍历的时候加个判断)
                        layui.form.render();
                    });

                    
                })
            })



        })
    </script>
 [Route("chosemenu/others")]
        public IHttpActionResult getothers()
        {

            try
            {
                var request = HttpContext.Current.Request;
                var menuid = request.QueryString["menuid"];

                //var menu = request.Form["Name"];
                SqlConnection sqlConnection =
                    new SqlConnection(
                        "Data Source=(local);Initial Catalog=filemaneger;Persist Security Info=True;User ID=sa;Password=123456");
                sqlConnection.Open();
                string sql = "select menuid,Name from menu where not menuid='"+menuid+"' ";        

                DataSet dataSet = new DataSet();
                SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sql, sqlConnection);
                sqlDataAdapter.Fill(dataSet);        //将数据填充进dataset 

                List<menu> lt = DataSetToList<menu>(dataSet, 0);    //用到实体类将数据与实体类映射

                var total = lt.Count;        //总数
                var rows = lt.ToList();      //分页存储到List中

                string sqlmenu = "select previousid,Name from menu where menuid='" + menuid + "' ";
                DataBase db = new DataBase();
                DataTable dt = db.GetDataTable(sqlmenu);
                var previousid = dt.Rows[0][0].ToString();
                var name = dt.Rows[0][1].ToString();

                return Json(new {total = total, rows = rows,previous=previousid,name=name });      //然后才转换成Json传递

            }
            catch (Exception ex)
            {

                return Ok(ex.Message);
            }

        }

实体类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace filemaneger.Models
{
    public class menu
    {
        public string menuid{get;set;}
        public string Name{get;set;}
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值