JQuery二级联动下拉框+添加移除选项

1.CSS文件代码:

     $(document).ready(function() {                //绑定Connection分类
                $.ajax({
                    type: "POST",
                    contentType: "application/json",
                    url: "aaaaaaaaaa.aspx/GetConnectionTag",
                    data: "{}",
                    dataType: 'json',
                    success: function(result) {
                         var list = eval("(" + result.d + ")");
                         var option = null;
                         
                        $.each(list.ConnectionTag, function(i, n){
                           option = $("<option></option>");
                           option.attr("value", n.CONNECTION_TAG_ID);
                           option.attr("innerHTML", n.TAG_NAME_EN);
                           $("#Connection_Select1").append(option);
                        });
                        
                        $("#Connection_Select1").change();

                    },
                    error:function(x, e){
                       alert("error");  
                    }

                });

               //更改分类时的事件处理
               $("#Connection_Select1").change(function(){
                    $.ajax({
                        type: "POST",
                        contentType: "application/json",
                        url: "aaaaaaaaaa.aspx/GetConnectionUser",
                        data: "{'tag_id':" + $("#Connection_Select1").val() + "}",
                        dataType: 'json',
                        success: function(result) {

                             var list = eval("(" + result.d + ")");
                             var option = null;
                             $("#Connection_Select2").empty(); //清空所有项
                             
                            $.each(list.ConnectionUser, function(i, n){
                               option = $("<option></option>");
                               option.attr("value", n.USER_ID);
                               option.attr("innerHTML", n.USER_LOGIN_NAME);
                               $("#Connection_Select2").append(option);
                            });

                        },
                        error:function(x, e){
                           alert("error");  
                        }
                    });
               });
               //添加
               $("#btnAdd").click(function(){
                    var select2_val = $("#Connection_Select2").val();
                    if(select2_val != null){
                        $.ajax({
                            type: "POST",
                            contentType: "application/json",
                            url: "aaaaaaaaaa.aspx/GetListByUserIdString",
                            data: "{'userIdString':'" + select2_val + "'}",
                            dataType: 'json',
                            success: function(result) {
                                 var list = eval("(" + result.d + ")");
                                 var option = null;
                                 var f = null;
                                 
                                $.each(list.UserList, function(i, n){
                                   f = true;
                                   $("#Connection_Select3").find("option").each(function(){
                                        if($(this).val() == n.USER_ID){
                                            f = false;  //如果选项已存在
                                        }
                                   });
                                   
                                   if(f){
                                       option = $("<option></option>");
                                       option.attr("value", n.USER_ID);
                                       option.attr("innerHTML", n.USER_LOGIN_NAME);
                                       $("#Connection_Select3").append(option);
                                   }
                                });
                            },
                            error:function(x, e){
                               alert("error");  
                            }
                        });
                    }
               });
               //删除
               $("#btnDelete").click(function(){
                    var select3_val = $("#Connection_Select3").val();

                    if(select3_val != null){                        //object类型不能直接split,必须先转成String类型
                        var array = new String(select3_val).split(","); 
                        $.each(array, function(i){
                             $("#Connection_Select3 option[value='" + array  + "']").remove();  
                        });
                    }
               });
        });
 
2.ASPX页面代码:
 
    <table border="0" cellpadding="2" cellspacing="0">
        <tr>
            <td align="right">
                Connection分类:
            </td>
            <td>
                <select id="Connection_Select1" style="width: 211px;">
                    <option value="0"></option>
                </select>
            </td>
            <td>
            </td>
            <td>
                Connection选中的会员:
            </td>
        </tr>
        <tr>
            <td align="right" valign="top">
                Connection待选会员:
            </td>
            <td>
                <select id="Connection_Select2" multiple="multiple" class="box">
                </select>
            </td>
            <td>
                <input id="btnAdd" type="button" value="添加>>" />
                <br />
                <input id="btnDelete" type="button" value="<<删除" />
            </td>
            <td>
                <select id="Connection_Select3" multiple="multiple" class="box">
                </select>
            </td>
        </tr>
    </table>

3.ASPX.CS后台代码:
 


    #region 查询Connection Tag,Jquery调用方法    /// <summary>
    /// 查询Connection Tag,Jquery调用方法
    /// </summary>
    /// <returns></returns>
    [System.Web.Services.WebMethod]
    public static string GetConnectionTag()
    {
        DataSet ds = new ConnectionBLL.Connection_TagManager().GetList(22);
        return Shundao.Common.JsonConvert.ToJson(ds.Tables[0], "ConnectionTag");
    }
    #endregion
 
    #region 根据Connection_Tag_id查找会员,JQuery调用方法
    /// <summary>
    /// 根据Connection_Tag_id查找会员,JQuery调用方法
    /// </summary>
    /// <param name="tag_id"></param>
    /// <returns></returns>
    [System.Web.Services.WebMethod]
    public static string GetConnectionUser(object tag_id)
    {
        DataSet ds = new ConnectionBLL.ConnectionManager().GetList(22, tag_id);
        return Shundao.Common.JsonConvert.ToJson(ds.Tables[0], "ConnectionUser");
    }
    #endregion
 
    #region 根据以“,”分隔的USER_ID获取用户,JQuery调用方法
    /// <summary>
    ///  根据以“,”分隔的USER_ID获取用户,JQuery调用方法
    /// </summary>
    /// <param name="userIdString"></param>
    /// <returns></returns>
    [System.Web.Services.WebMethod]
    public static string GetListByUserIdString(string userIdString)
    {
        DataSet ds = new UserBLL.UserManager().GetListByUserIdString(userIdString);
        return Shundao.Common.JsonConvert.ToJson(ds.Tables[0], "UserList");
    }
    #endregion

 
 
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
element-ui提供了Cascader(级联选择器)组件来实现二级联动下拉框的功能。你可以按照以下步骤来实现: 1. 首先,安装element-ui库并导入所需的组件: ```bash npm install element-ui --save ``` ```javascript import Vue from 'vue' import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' Vue.use(ElementUI) ``` 2. 在你的Vue组件中使用Cascader组件,并设置相应的数据源和配置项: ```html <template> <div> <el-cascader v-model="selectedOptions" :options="options" @change="handleCascaderChange" placeholder="请选择" ></el-cascader> </div> </template> <script> export default { data() { return { selectedOptions: [], // 选择选项值 options: [ // 数据源 { value: 'option1', label: '选项1', children: [ { value: 'option1-1', label: '选项1-1' }, { value: 'option1-2', label: '选项1-2' } ] }, { value: 'option2', label: '选项2', children: [ { value: 'option2-1', label: '选项2-1' }, { value: 'option2-2', label: '选项2-2' } ] } ] } }, methods: { handleCascaderChange(value) { console.log(value) // 在这里可以获取到选中的值 } } } </script> ``` 这样,你就可以实现一个基本的二级联动下拉框了。通过设置`options`属性来定义数据源,通过`v-model`来绑定选择的值,通过`@change`事件来监听值的变化。在`handleCascaderChange`方法中,你可以获取到选中的值并进行相应的处理。 希望这个示例对你有帮助!如有任何问题,请随时追问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值