我一直试图让我的头在短时间内完成自动完成,并且只是将我的头靠在墙上试图让它工作。我已经尝试了很多例子,但没有任何意义可供我使用。JQuery AutoComplete Combobox
我已经创建了一个例子,我希望解释我正在尝试做什么。这是一个MVC 3应用程序
我正在使用jquery站点的自动完成代码http://jqueryui.com/autocomplete/#combobox,我将它链接到我的_Layout.cshtml文件的标题以及所有其他必需的js和css文件中。
我在Home/Index.cshtml中查看的Div以及与之执行操作的按钮。
<div id="SearchDiv"></div>
<button id="SearchBtn" type="button" style="float: right">Search</button>
视图包括其中I创建SELECT元素,并且还定义按钮点击JS文件。
<script src="@Url.Content("~/Scripts/combobox.js")" type="text/javascript"></script>
JS文件内容如下。
var theader = '<table class="tbl">\n';
var tbody = '';
for (var i = 0; i < 10; i++) {
if (i % 2 == 0)
tbody += '<tr>';
tbody += '<td><select class="SelectionControls"/><option value="0"></option>';
tbody += '<option value="1">This is a test</option>';
tbody += '<option value="2">This is a test 1</option>';
tbody += '<option value="3">This is a test 2</option>';
tbody += '<option value="4">This is a test 3</option>';
tbody += '<option value="5">This is a test 4</option>';
tbody += '<select></td>';
if (i % 2 != 0)
tbody += '</tr>\n';
}
var tfooter = '</table>';
document.getElementById('SearchDiv').innerHTML = theader + tbody + tfooter;
$(".SelectionControls").combobox();
$("#SearchBtn").click(function() {
var readtheselectedvalue= $(".SelectionControls")[0].val();
});
当我运行代码除了将组合框放到表中的屏幕上时,没有任何反应,但它们都是空的。我需要用上面的纹理值填充组合框,以便选中的文本显示在组合框文本框中,但是当我读取val()时,我需要它返回与该选择相关的值0 - 5。
我需要能够读取JavaScript中的值0-5,因为我有进一步的处理,我需要按一下搜索按钮的值。
如果有人可以请告诉我我是如何完成的,我将非常感激,因为我一直在努力争取这么多年。
就这样我很清楚,你打算在这个组合框的模型上搜索吗?自动完成是在搜索由控制器填充的选择对象的集合,还是将其作为硬编码到JS文件中的静态列表?你应该看看Select2(http://ivaynberg.github.com/select2/)和Chosen(http://harvesthq.github.com/chosen/),我已经在ASP MVC应用中使用了它们,很棒 – Jack 2013-02-21 20:40:10
组合框显示一个json结果,这就是为什么我在javascript中创建了组合框。组合框是我写的外部jqgrid过滤系统的一部分。我需要动态地创建组合框,因为可以有几个,所有用户都可以配置,所以我不能简单地将它们放入HTML中。 – user2096992 2013-02-21 22:43:09