从jQuery更改自动完成源但不起作用?

时间:2014-01-24 12:17:40

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

我正在尝试使用JQuery实现自动完成文本框。我有一个下拉列表和一个文本框,试图通过下拉列表项目选择附加自动完成文本功能,但它不起作用,我正在使用剃刀。

这是我的剃刀代码。

@Html.DropDownList("SearchBy", new SelectList(ViewBag.SearchBy, "Value", "Text"), "--Search By--", new { onchange = "showcontrol(this.options[this.selectedIndex].value);" })
 @Html.TextBox("Term")

JQuery的

<script type="text/javascript">
$(document).ready(function () {
    showcontrol = function (id) {
    $("#Term").attr("data-otf-autocomplete", "@Url.Action("AutocompleteState")");                
}
});
</script>

在这里,我可以动态更改自动完成索引路径,但它无法正常工作。请帮我一个。

1 个答案:

答案 0 :(得分:0)

将您的HtmlHelper下拉列表更改为:

@Html.DropDownList("SearchBy", new SelectList(ViewBag.SearchBy, "Value", "Text"), "--Search By--")

删除突兀的javascript。

然后按如下方式绑定您的更改事件:

$('#SearchBy').change(function () {
    $("select option:selected").each(function () {
        showcontrol($(this).val())
    });
})

在你的showcontrol函数声明之后,你会很高兴。