Select2:为下拉项列表设置默认值,以剃刀语法从 C# 模型获取的数据
Select2: Set Default value for list of dropdown items, data obtained from C# Model in razor syntax
我有一个 select2 下拉列表,我想 select 列表项的默认值。当我使用硬代码值来设置下拉列表的默认值时,它工作正常
$('#PlatFormTitle').val(['1','2','3']);
但我想 select 值基于从模型中获得的数据。
这是我正在尝试的代码,有人可以确定我在这里做错了什么吗?
var PlateForms = [];
var x;
@foreach(var PlateForm in Model.UserPlateFormList)
{
@:x = '@PlateForm';
@:PlateForms.push(x);
}
$('#PlatFormTitle').val(PlateForms);
$('#PlatFormTitle').trigger('change');
我也试过了。
$('#PlatFormTitle').val(JSON.stringify(PlateForms));
$('#PlatFormTitle').trigger('change');
我用你的代码测试过,它可以工作,这里是演示:
型号:
public class Model1 {
public List<int> UserPlateFormList { get; set; }
}
控制器:
public IActionResult Index()
{
Model1 m = new Model1 { UserPlateFormList = new List<int> { 1, 2, 3 } };
return View(m);
}
查看:
<select id="PlatFormTitle" class="js-example-basic-multiple" multiple="multiple" style="width:200px">
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
</select>
js:
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css" />
<script>
$(function () {
$('.js-example-basic-multiple').select2();
var PlateForms = [];
var x;
@foreach (var PlateForm in Model.UserPlateFormList)
{
@:x = '@PlateForm';
@:PlateForms.push(x);
}
$('#PlatFormTitle').val(PlateForms);
$('#PlatFormTitle').trigger('change');
});
</script>
结果:
我有一个 select2 下拉列表,我想 select 列表项的默认值。当我使用硬代码值来设置下拉列表的默认值时,它工作正常
$('#PlatFormTitle').val(['1','2','3']);
但我想 select 值基于从模型中获得的数据。 这是我正在尝试的代码,有人可以确定我在这里做错了什么吗?
var PlateForms = [];
var x;
@foreach(var PlateForm in Model.UserPlateFormList)
{
@:x = '@PlateForm';
@:PlateForms.push(x);
}
$('#PlatFormTitle').val(PlateForms);
$('#PlatFormTitle').trigger('change');
我也试过了。
$('#PlatFormTitle').val(JSON.stringify(PlateForms));
$('#PlatFormTitle').trigger('change');
我用你的代码测试过,它可以工作,这里是演示:
型号:
public class Model1 {
public List<int> UserPlateFormList { get; set; }
}
控制器:
public IActionResult Index()
{
Model1 m = new Model1 { UserPlateFormList = new List<int> { 1, 2, 3 } };
return View(m);
}
查看:
<select id="PlatFormTitle" class="js-example-basic-multiple" multiple="multiple" style="width:200px">
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
</select>
js:
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css" />
<script>
$(function () {
$('.js-example-basic-multiple').select2();
var PlateForms = [];
var x;
@foreach (var PlateForm in Model.UserPlateFormList)
{
@:x = '@PlateForm';
@:PlateForms.push(x);
}
$('#PlatFormTitle').val(PlateForms);
$('#PlatFormTitle').trigger('change');
});
</script>
结果: