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

时间:2015-04-03 00:42:08

标签: jquery asp.net-mvc-5 jquery-ui-autocomplete

我在一段时间后看到了一个关于此问题的帖子,遗憾的是我忘记将其标记为收藏夹,现在我找不到它,我已经将jQuery自动完成连接到我的页面。

当我输入并选择一个项目时,我需要在按下提交时将其传递回控制器,在选择它后检查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传回Windsurfing和冲浪值,但这似乎没有传回来

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

选择调用控制器可能不合适,就像拥有旧式回发,而不是我想要的方式。更好的方法是将选择的值设置为模型上的隐藏属性。

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