Привет всем.
Я пытаюсь сделать систему тегов. Я не хочу менять ajax и. net код ядра 3.1. Если тег существует в таблице, выберите его. Если не существует, добавьте его в таблицу и выберите. Я добавил код про шоу и выбрал тег из таблицы. Но я не могу добавить тег, если он не существует, выбрать тег и вернуть идентификатор.
Ajax:
<script>
$(document).ready(function () {
$(".selectSkills").select2({
placeholder: "Select/add the skills that you are capable of",
allowClear: true,
theme: "classic",
ajax: {
url: "/Contestants/GetSkill",
dataType: 'json',
type: 'GET',
delay: 250,
data: function (params) {
return {
searchTerm: params.term
};
},
processResults: function (data, params) {
return {
results: data
};
}
}
});
});
$(".selectSkills").on("change", function () {
var catId = $(this).val();
$("#selectSkills_Value").val(catId);
console.log(catId);
var textBoxValueData = $("#selectSkills_Value").val();
$.ajax({
url: '/Contestants/Save?data=' + textBoxValueData,
dataType: 'json',
type: 'post',
});
});
</script>
Действие контроллера:
public JsonResult GetSkill(string searchTerm)
{
var dataList = _skillsRepository.All().ToList();
if (searchTerm != null)
{
dataList = dataList.Where(x => x.Title.ToLower().Contains(searchTerm.ToLower()) ? _skillsService.Create(x.Id, searchTerm) : _skillsService.Create(x.Id, searchTerm)).ToList();
}
var modifiedData = dataList.Select(x => new
{
id = x.Id,
text = x.Title
});
return Json(modifiedData);
}
public JsonResult Save(string data)
{
return Json(0);
}
Просмотр:
<select class="selectSkills" multiple style="width:500px;height:200px;"></select>
<input asp-for="Skills" type="hidden" id="selectSkills_Value" />