不使用jquery中的foreach循环在Select2中加载数据
我正在尝试使用foreach循环将数据加载到select2 代码: 从这里我得到了清单。值进入foreach循环,但不附加到select2不使用jquery中的foreach循环在Select2中加载数据,jquery,asp.net-mvc,jquery-select2,Jquery,Asp.net Mvc,Jquery Select2,我正在尝试使用foreach循环将数据加载到select2 代码: 从这里我得到了清单。值进入foreach循环,但不附加到select2 var tr = '<tr>'; tr += `'<td> <select id="services" name="services" class="form-control selec
var tr = '<tr>';
tr += `'<td>
<select id="services" name="services" class="form-control select2 ser">
<option value=`+val.ID +`> `+ val.Name +`</option >
</select>
</td>'`;
这里我使用select2并从数据库中获取所选值。它仅显示选定的值,而不是select2中的所有值。如果可能的话,我想得到所有的值并选择它们。关于如何从数据库获取select2中的所有值和selected value的任何建议。提前感谢。您可以填写下面的select2,从控制器方法中以ajax的形式获取数据
<script>
$('#services').select2();
var url = "@Url.Action("Listofservices", "service")";
selected();
function selected() {
$.get(url, function (response, status) {
if (status == "success") {
$.each(response.results, function (i, item) {
var selected = "";
if (item.selected) {
selected = true;
}
var option = '<option ' + selected +' value="' + item.id + '">' + item.text +'</option>';
$('#ddlListing').append(option)
});
}
});
}
</script>
下面是返回json的action方法的示例,如下所示
public IActionResult GetListings()
{
var data = new List<dynamic>();
data.Add(new
{
Id = 1,
Text = "aaa",
selected = true,
});
data.Add(new
{
Id = 2,
Text = "bbb",
selected = false,
});
data.Add(new
{
Id = 3,
Text = "ccc",
selected = false,
});
return new JsonResult(new { results = data });
}
我希望它能帮助你,谢谢
<script>
var url = "@Url.Action("getlistings", "home")";
$('#ddlListing').select2({
ajax: {
url: url
}
});
</script>
{
"results": [
{
"id": 1,
"text": "Option 1"
},
{
"id": 2,
"text": "Option 2"
},
{
"id": 3,
"text": "Option 3"
}
]
}
public IActionResult GetListings()
{
var data = new List<dynamic>();
data.Add(new
{
Id = 1,
Text = "aaa",
selected = true,
});
data.Add(new
{
Id = 2,
Text = "bbb",
selected = false,
});
data.Add(new
{
Id = 3,
Text = "ccc",
selected = false,
});
return new JsonResult(new { results = data });
}