2012-02-17 35 views
0

使用在asp.net中找到的Pluralsight演示我创建了自动完成文本框。我想将信息放入文本框中,并在文本框下方的表格中查看自动填充建议,而不必按下按钮。从没有按钮的文本框Jquery自动完成表

我在MVC3中编写我的代码并使用MSSQL 2008数据库。

我怀疑我需要以某种方式合并此功能,但我不知道该怎么

$(document).ready(function() { 
$(":input[data-autocomplete]").each(function() { 
    $(this).autocomplete({ source: $(this).attr("data-autocomplete") }); 
}); 

$("searchForm").each(function() { 
    $.getJSON($(this).attr("action"), 
     $(this).serialize(), 
     function(data) { 
      var result = $("#searchTemplate").tmpl(data); 
      $("searchResults").empty() 
       .append(result); 
     } 
    ); 
    return false; 
}); }) 

任何帮助将是非常赞赏。

回答

1

你的问题很不清楚。看不到第一个和第二个脚本之间的任何关系。更何况第二个似乎是错误的,因为没有<searchForm>有效的DOM元素,这是你似乎正在循环。

看起来您尝试通过提交包含自动填充文本框的表单进行选择时自动执行搜索。如果你想这种形式来执行AJAX提交定期回传,而不是你可以使用一个Ajax.BeginForm而不是常规Html.BeginForm的

$(":input[data-autocomplete]").each(function() { 
    $(this).autocomplete({ 
     source: $(this).attr("data-autocomplete"), 
     select: function(event, ui) { 
      // a selection was made, here you could trigger the submission of the form 
      // as if a submit button was pressed 
      $(this).closest('form').trigger('submit'); 
     } 
    }); 
}); 

当然:对于这一点,你可以使用select事件。