在我看来,我有一个正在运行的jQuery自动完成(bassistance)。问题是我只是没有得到这个东西。 MVC操作返回JSON数据,插件很好地读出它,并且过滤器效果很好 - 它列出了结果,我可以从下拉列表中选择。但是当我选择它时什么都没有发生 - 我通过按下Enter或点击它来选择一个项目。我想我必须以某种方式连接result()函数 - 我尝试了onItemSelect选项,但它不起作用,没有任何反应,result()不会触发。关于ASP.NET MVC视图的JQuery自动完成
最后,我想要的是能够不断地将用户选择的项目添加到列表或列表中。
我认为我的大部分问题都来自缺乏一般的jQuery或JavaScript知识,我承认我从来不喜欢,但现在用ASP.NET MVC,我不得不学习它,实际上我发现它非常有用能够绕过回传..
这是到目前为止我的代码:
<script type="text/javascript">
$(document).ready(function() {
$("#Products").focus().autocomplete('<%=Url.Action("GetProducts", "Product") %>', {
dataType: 'json',
parse: function(data) {
var rows = new Array();
for(var i=0; i<data.length; i++) {
rows[i] = { data:data[i], value:data[i].product_id, result:data[i].product_name1};
}
return rows;
},
formatItem: function(row, i, n) {
return row.product_PrettyId + ' - ' + row.product_name1 + ' (' + row.product_price + ' €) ';
},
width: 900,
minChars: 0,
max: 0,
mustMatch: true,
onItemSelect: result,
});
});
function result(extra) {
$("#result").val(extra);
}
</script>
查看:
<div>
<%=Html.TextBox("Products", null, new { style = "font-size: 20px; width: 900px"}) %>
</div>
<div id="result"></div>
同时请注意,我的解决方案需要的J合作在我的最终解决方案中启用和禁用avaScript我还想提供一个按钮控件,它可以为我的控制器操作添加项目到列表中的回发和经典帖子。
我知道你对Javascript的感受,但请检查一下。它来自道格Crockford和有助于理解的事情 - > http://www.youtube.com/watch?v=hQVTIJBZook – Dann 2010-01-08 21:36:43