在我看來,我有一個正在運行的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