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