Jquery自动完成将所选值传递给控制器

Jquery自动完成将所选值传递给控制器,jquery,asp.net-mvc-5,jquery-ui-autocomplete,Jquery,Asp.net Mvc 5,Jquery Ui Autocomplete,不久前我看到一个关于这个的帖子,不幸的是我忘了将它标记为收藏夹,现在我找不到它,我已经将jQuery自动完成连接到我的页面 当我键入并选择一个项目时,我需要在按submit时将其传回控制器,当选择后检查HTML时,它看起来如下所示: <div class="ui-autocomplete-multiselect ui-state-default ui-widget" style="width: 746.6px;"> <div class="ui-autocomplete-mul

不久前我看到一个关于这个的帖子,不幸的是我忘了将它标记为收藏夹,现在我找不到它,我已经将jQuery自动完成连接到我的页面

当我键入并选择一个项目时,我需要在按submit时将其传回控制器,当选择后检查HTML时,它看起来如下所示:

<div class="ui-autocomplete-multiselect ui-state-default ui-widget" style="width: 746.6px;">
<div class="ui-autocomplete-multiselect-item">
        Windsurfing
     <span class="ui-icon ui-icon-close"></span>
</div>
<div class="ui-autocomplete-multiselect-item">
       Surfing
     <span class="ui-icon ui-icon-close"></span>
</div>
    <input id="myAutocomplete" class="ui-autocomplete-input" type="text" autocomplete="off" style="width: 19px;">
</div>

风帆冲浪
冲浪

我需要了解如何传回我使用FormCollection尝试过的风帆冲浪和冲浪值,但似乎没有传回。

将自动完成小部件绑定到输入时,只需创建一个选择事件处理程序,如下所示:

$( "#myAutocomplete" ).autocomplete({
  select: function( event, ui ) {
    // pass back to controller here
  }
});

在select上调用控制器可能不合适,这就像进行旧式回发,而不是我认为您希望的方式。更好的方法是将选择的值设置为模型上的隐藏特性

$( "#myAutocomplete" ).autocomplete({
   select: function( event, ui ) {
   $('#yourHiddenModelField').val(ui.item.value);
   }
});

您的输入没有name属性,因此它不会回发其值(使用视图模型,使用强类型html帮助程序绑定到它,并回发模型以避免代码中出现这些类型的错误)@StephenMuecke听起来很有趣,我相信我最初看到的线程正是这样做的,您有例子吗?或者你看到我说的线索了?可以help@StephenMuecke我刚刚浏览了那篇文章并做了一个工作示例,他建议显示多个文本框,允许用户选择一个项目,然后移动到下一个文本框并再次开始键入。这不是我想要的,解释我的功能的最好方法是看看你如何在stackoverflow上为新问题添加标签我已经在我的autocomplete上启用了multiselect。这不是我想要的,我希望用户选择他/她想要的内容,当他们完成并提交页面时,我希望引用他们。我不希望每次有人选择新内容时都不断呼叫控制器