JQuery Select2使用MVC5,Ajax:不调用控制器方法

时间:2017-11-04 16:16:44

标签: jquery ajax asp.net-mvc-5 jquery-select2

我一直在思考如何让Select2工作一整天。在阅读了很多帖子,答案和指南后,我也无法使用Select2工作。它甚至没有调用我希望它调用的方法。

//编辑我无法输入在网站上创建的选择。

我希望创建多个选择,如[link] https://select2.org/getting-started/basic-usage#multi-select-boxes-pillbox

我的HTML:

<select class="form-control IngridientsSelect" name="IngridientsSelect" multiple="multiple"></select>

我的剧本:

    $(document).ready(function () {
    $(".IngridientsSelect").select2({
        placeholder: "Select an Item",
        allowClear: true,
        style: "display: inline-block",
        minimumInputLength: 1, //you can specify a min. query length to return results
        ajax: {
            url: '@Url.Action("GetIngridients", "Dishes")',
            data: function (params) {
                return {
                    q: params.term
                };
            },
            processResults: function (data, search) {
                return {
                    results: $.map(data, function (item) {
                        return {
                            id: item.id,
                            text: item.name,
                        }
                    })
                };
            },
            cache: true
        },
        templateResult: function (item) {
            if (item.loading) return item.text;
            return item.text;
        }
    })

});

我的方法:

public JsonResult GetIngridients(string q)
    {
        var items = db.getIngridients();
        var filteredItems = items.Select(n => new {id = n.Id, name = n.Name }).ToList();
        return Json(filteredItems, JsonRequestBehavior.AllowGet);
    }

0 个答案:

没有答案