Jquery自动完成将所选值传递给控制器
不久前我看到一个关于这个的帖子,不幸的是我忘了将它标记为收藏夹,现在我找不到它,我已经将jQuery自动完成连接到我的页面 当我键入并选择一个项目时,我需要在按submit时将其传回控制器,当选择后检查HTML时,它看起来如下所示: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
<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。这不是我想要的,我希望用户选择他/她想要的内容,当他们完成并提交页面时,我希望引用他们。我不希望每次有人选择新内容时都不断呼叫控制器