Asp.net mvc 4 使用asp.net mvc4选择2多选列表,不带搜索字段

Asp.net mvc 4 使用asp.net mvc4选择2多选列表,不带搜索字段,asp.net-mvc-4,jquery-select2,Asp.net Mvc 4,Jquery Select2,在这里输入图像描述我已经尝试让它工作了一段时间,但无法。我需要一个Select2多选下拉列表No search字段。当用户在该下拉列表中单击时,这将显示MVC5控制器操作的值列表。但是我不能让它工作。这是我的视图、控制器和JavaScript文件。任何帮助都将不胜感激 编辑:另外,我正在尝试从控制器传递回JavaCScript的数据创建选择列表 编辑:请参阅所附图片 -看法 -波科 -JavaCScript文件: $("#hidden-select2-setup").select2({

在这里输入图像描述我已经尝试让它工作了一段时间,但无法。我需要一个Select2多选下拉列表No search字段。当用户在该下拉列表中单击时,这将显示MVC5控制器操作的值列表。但是我不能让它工作。这是我的视图、控制器和JavaScript文件。任何帮助都将不胜感激 编辑:另外,我正在尝试从控制器传递回JavaCScript的数据创建选择列表

编辑:请参阅所附图片

-看法

-波科

-JavaCScript文件:

$("#hidden-select2-setup").select2({
    placeholder: "Type to find a Contract",
    allowClear: true,
    allowMultiple: true,
    ajax: {
        cache: false,
        dataType: "json",
        type: "POST",
        url: "/Automobile/GetAllAutos/1",
        results: function (data) { 
            return { results: data };

        }
    },
    formatResult: contractFormatResult,
    formatSelection: contractFormatSelection,
    escapeMarkup: function (m) { return m; }
});


function contractFormatResult(contract) {    
    $('#hidden-select2-setup')
        .append($('<option></option>')
        .attr('value', contract.id)
        .text(contract.text))
    return $('#hidden-select2-setup');
}

function contractFormatSelection(contract) {
    return contract.name;
}

有几种方法可以禁用搜索框:

1:

2:

3:


,谢谢你的回答。我的问题有点误导。我的问题是,当我单击隐藏的输入时,我没有看到隐藏字段中的数据。我的JavaScript部分有什么问题吗?我编辑了我的原始帖子
[HttpPost]
        public JsonResult GetAllAutos(int id= 0)
        {
            var result = Automobile.GetAll();
            var makes = result.Owners.Select( o => new {
            text = o.Name,
            id = o.Id             
            }).ToList();
            return Json(makes);
        }
public class Automobile
    {
        public int Id { get; set; }
        public string Make { get; set; }
        public string Model { get; set; }
        public List<Owner> Owners { get; set; }
        public int? OwnerId { get; set; }
        public static Automobile GetAll()
        {
            var auto = new Automobile();
            var ownerList = new List<Owner>
            {
                new Owner{Id = 1,Name="Carlos Joseph"},
                new Owner{Id = 2,Name="Bradley Cooper"},
                new Owner{Id = 3,Name="Brad Pitt"},
                new Owner{Id = 4,Name="Johnny Depp"}
            };

            auto.Owners = ownerList;
            return auto;
        }

    }
    public class Owner
    {
        public int? Id { get; set; }
        public string Name { get; set; }

    }
$("#hidden-select2-setup").select2({
    placeholder: "Type to find a Contract",
    allowClear: true,
    allowMultiple: true,
    ajax: {
        cache: false,
        dataType: "json",
        type: "POST",
        url: "/Automobile/GetAllAutos/1",
        results: function (data) { 
            return { results: data };

        }
    },
    formatResult: contractFormatResult,
    formatSelection: contractFormatSelection,
    escapeMarkup: function (m) { return m; }
});


function contractFormatResult(contract) {    
    $('#hidden-select2-setup')
        .append($('<option></option>')
        .attr('value', contract.id)
        .text(contract.text))
    return $('#hidden-select2-setup');
}

function contractFormatSelection(contract) {
    return contract.name;
}
$('#selectId').select2({
    minimumResultsForSearch: -1
});
$('.select2-search, .select2-focusser').remove();
.no-search .select2-search {
    display:none
}

$('#selectId').select2({
    dropdownCssClass : 'no-search'
});