Jquery自动完成将选定的值传递给控制器
问题描述:
关于这一点,我看到一条线程,遗憾的是我忘记将它标记为最喜欢的,现在我找不到它,我已经将jQuery自动完成连接到我的页面。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尝试值,但似乎并没有传递回
答
当绑定的自动完成构件到您的输入,只需要创建一个选择事件处理程序是这样的:
$("#myAutocomplete").autocomplete({
select: function(event, ui) {
// pass back to controller here
}
});
+0
这不是我正在寻找的东西,我希望用户选择他/她想要什么,什么时候完成并提交了页面,然后我想引用它们,我不想每次都对控制器进行调用有人选择新的东西 – 2015-04-03 02:05:50
答
在选择时调用控制器可能不合适,这就像是有一种旧式的回发,而不是我认为这样做的方式。更好的方法是将选择的值设置为模型上的隐藏属性。
$("#myAutocomplete").autocomplete({
select: function(event, ui) {
$('#yourHiddenModelField').val(ui.item.value);
}
});
您输入不具有name属性,因此不会(使用强类型的HTML辅助使用视图模型,绑定到它和后回模型,以避免这些类型的错误在你的代码)后回到它的价值 – 2015-04-03 00:50:48
@StephenMuecke听起来很有意思,我相信我最初看到的线程就是这么做的,你有没有例子?或者也许看到线程即时通讯谈论? – 2015-04-03 00:53:14
[本文](http://blogs.msdn.com/b/stuartleeks/archive/2012/04/23/asp-net-mvc-amp-jquery-ui-autocomplete.aspx)可能有帮助 – 2015-04-03 00:56:18