我一直在尝试在短时间内弄清自动完成,但一直没有头绪,我试过很多例子,但都无法让我理解并使用。我创建了一个示例,希望能解释我要做什么。这是一个MVC 3应用程序。我正在使用来自jquery网站的自动完成代码 http://jqueryui.com/autocomplete/#combobox,我已将其链接到我的_Layout.cshtml文件的头部,以及所有其他必需的js和css文件。这个Div位于我在Home/Index.cshtml视图中的按钮上,用于执行一个操作。
视图包括我创建SELECT元素和定义按钮点击的js文件。
除了将组合框放置在表格中,但它们都为空之外,运行代码时什么也没有发生。我需要用上面的文本值填充组合框,以便在选择项目时在组合框文本字段中显示所选文本,但当我读取val()时,我需要它返回与该选择相关联的值0-5。
我需要能够在JavaScript中读取值0-5,因为一旦按下“搜索”按钮,我需要对该值进行进一步处理。
如果有人能告诉我如何完成这个任务,我将非常感激,因为我已经苦苦挣扎了很长时间。
<div id="SearchDiv"></div>
<button id="SearchBtn" type="button" style="float: right">Search</button>
视图包括我创建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,因为一旦按下“搜索”按钮,我需要对该值进行进一步处理。
如果有人能告诉我如何完成这个任务,我将非常感激,因为我已经苦苦挣扎了很长时间。