Jquery自动完成功能无法在重定向页面中使用

时间:2015-12-28 09:06:07

标签: jquery asp.net-mvc-4 autocomplete

我在局部视图中有一个自动完成文本框,当从视图1中引用时可以正常工作。在视图1上我有一个按钮,点击它我将重定向到视图2,这也引用了这个局部视图。但是在视图2中,自动完成功能无效。

 $("#ImportEligibilityCode").click(function () {
                window.location.href('@Url.Action("ImportEligibilityCode", "UploadEligibilityCodes")');

        });

" ImportEligibilityCode"控制器的动作" UploadEligibilityCodes"返回包含自动填充文本框的局部视图。 搜索并尝试了许多来自互联网的选项,但尚未解决。请帮助:)

1 个答案:

答案 0 :(得分:0)

如果您希望自动完成和各种其他jQuery方法处理在初始页面加载后通过AJAX加载的元素,那么您需要将它们包装在.on()函数中,而不是以典型方式执行。下面是一个如何以对通过AJAX加载的元素的方式调用jQuery自动完成的示例。只需将CSS选择器/控制器/操作和项目/值替换为适合您页面的值。

<script>
    $('body').on('keydown.autocomplete', '.your-css-selector', function () {

        $(".your-css-selector").autocomplete({
            source: function(request,response) {
                $.ajax({
                    url: "/Controller/AutoCompleteAction",
                    type: "POST",
                    dataType: "json",
                    data: { term: request.term },
                    success: function (data) {
                        response($.map(data, function (item) {
                            return { label: item.description, value: item.value };
                        }))
                    }
                })
            },
            messages: {
                noResults: "", results: ""
            },
            minLength: 2
        });
    });
</script>