如何实现下拉框的绑定

开发工具与关键技术:Visual Studio、MVC
作者:幻奏
撰写时间:2019.7.5

下拉框你们都见过吧,下拉框的作用是方便用户更快的输入,同时也限制了用户,再也不怕用户乱写啦。
下拉框我们该如何绑定呢,这个我们先从它的html开始,先来了解一下证件类型下拉框的HTML的是如何写的吧!

<div class="form-group form-row m-0">
                                        <label class="col-form-label col-lg-5">证件类型:</label>
                                        <div class="col-lg-6">
                                            <select class="form-control" id="PapersType" name="PapersType" style="height:30px;width:100px;padding: 0;"></select>
                                        </div>
                                    </div>

我们HTML就这样了,我们再封装一下js的方法,然后引入到你的项目里面。

function createSelect(selectId, url, value) {
    $.post(url, function (jsonData) {
        if (selectId.indexOf('#') != 0) {
            selectId = '#' + selectId;
        }
        $(selectId).empty();//清空该元素
        //创建option
        for (k in jsonData) {
            $(selectId).append('<option value="' + jsonData[k].id + '">' + jsonData[k].text + '</option>');
        }
        //设置选中值
        if (value != undefined && value != null && value != '') {
            $(selectId).val(value);
        }
    });
}

然后我们再写一个实体类,存储我们查询到的数据。

public class SelectVo
    {
        /// <summary>
        /// 选中值
        /// </summary>
        public int id { get; set; }
        /// <summary>
        /// 显示值
        /// </summary>
        public string text { get; set; }
    }

我们还需要一个实体类拼接“请选择”。

public class Tools
    {
        public static List<SelectVo> SetSelectJson (List<SelectVo> select)
        {
            //创建列表对象
            List<SelectVo> list = new List<SelectVo>();
            //创建实体对象
            SelectVo SelectVo = new SelectVo
            {
                id = 0,
                text = "请选择"
            };
            //将实体对象添加到对象列表
            list.Add(SelectVo);
            //将数据集添加到对象列表
            list.AddRange(select);
            return list;
        }
    }

准备工作我们都完成了,接下来就是控制器的写法了。

 /// <summary>
        /// 证件类型下拉框
        /// </summary>
        /// <returns></returns>
        public ActionResult selectPapersType()
        {
            List<SelectVo> listPapersType = (from tbPapersType in myModel.S_PapersType
                                             select new SelectVo
                                             {
                                                 id = tbPapersType.PapersTypeID,
                                                 text = tbPapersType.PapersType
                                             }).ToList();
            //拼接选择项
            listPapersType = Common.Tools.SetSelectJson(listPapersType);
            return Json(listPapersType, JsonRequestBehavior.AllowGet);
        }

最后,我们回到视图那里调用它的方法。
createSelect(“PapersType”, “/Main/selectPapersType”, data.PapersTypeID);
括号里面第一个写的是ID,第二个写的是路径,第三个是回填下拉框用的,不需要会填数据的时候不用写。
最最后,我给你们看一下效果图。
效果图:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Vue3中实现下拉框绑定接口,需要使用以下步骤: 1. 安装Axios库 Axios是一个基于Promise的HTTP客户端,可以用于浏览器和Node.js中,同时支持拦截器、请求和响应转换、自动转换JSON数据等功能。在Vue3中,可以使用Axios来发送HTTP请求。 安装Axios库的命令如下: ``` npm install axios ``` 2. 创建下拉框组件 在Vue3中,可以使用`<select>`和`<option>`标签来创建下拉框组件。下拉框组件需要绑定一个数据源,用来显示下拉框的选项。通常情况下,数据源需要从后端接口获取。 在组件的`mounted`钩子函数中,使用Axios发送HTTP请求获取数据源,然后将数据赋值给组件的`options`属性。 组件的代码如下: ```vue <template> <select v-model="selectedOption"> <option v-for="option in options" :value="option.value">{{ option.label }}</option> </select> </template> <script> import axios from 'axios'; export default { data() { return { options: [], selectedOption: null, }; }, mounted() { axios.get('http://your-api.com/options') .then(response => { this.options = response.data; }) .catch(error => { console.log(error); }); }, }; </script> ``` 3. 绑定选中项 在Vue3中,可以使用`v-model`指令来绑定下拉框的选中项。选中项的值将被绑定到组件的`selectedOption`属性中。 当用户选择一个选项时,`selectedOption`属性的值将自动更新。可以在组件中监听`selectedOption`属性的变化,以执行相关的操作。 组件的代码如下: ```vue <template> <select v-model="selectedOption"> <option v-for="option in options" :value="option.value">{{ option.label }}</option> </select> </template> <script> import axios from 'axios'; export default { data() { return { options: [], selectedOption: null, }; }, mounted() { axios.get('http://your-api.com/options') .then(response => { this.options = response.data; }) .catch(error => { console.log(error); }); }, watch: { selectedOption(newValue, oldValue) { console.log(`Selected option changed from ${oldValue} to ${newValue}`); }, }, }; </script> ``` 以上就是在Vue3中实现下拉框绑定接口的步骤。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值