【问题标题】:How to do a auto submit for the "Search" function?如何为“搜索”功能进行自动提交?
【发布时间】:2015-02-10 15:06:13
【问题描述】:
我的观点:
@using (Html.BeginForm())
{
<p id="a">
Search par VCMEMBRE/VCPARENT: @Html.TextBox("SearchString")
<input type="submit" name="searchType" value="Find!" />
</p>
}
我的控制器:
public ActionResult Index(string searchString)
{
if (!String.IsNullOrEmpty(searchString))
{
axeModel.trcubezonequotas = db.TRCUBEZONEQUOTAS.Where(
(s =>
s.VCMEMBRE.ToLower().Contains(searchString.ToLower())
|| s.VCPARENT.ToLower().Contains(searchString.ToLower())
)
);
return View(axeModel);
}
【问题讨论】:
标签:
javascript
ajax
search
model-view-controller
entity
【解决方案1】:
做这样的事情:
在您的 html 标记中为 onChange 事件分配一个函数。
<input type="text" id="search" onchange="myFunction()" name="searchType" value="Find!" />
然后编写函数来调用你的控制器方法:)
例如:
function myFunction(){
var searchterm = $("#search");
$.get( "your controller url", { searchString: searchterm} )
.done(function( searchResults) {
searchResults.each(function( index ) {
console.log( index + ": " + $( this ).text() );
});
});
}
【解决方案2】:
早安
非常感谢您的帮助
我已经修改了这样的代码:
我的观点:
@using (Html.BeginForm())
{
<p id="a">
<input type="text" id="search" onchange="myFunction()" name="searchType" value="Find!" />
</p>
}
<script type="text/javascript" language="javascript" >
function myFunction(){
var searchterm = $("#search");
$.get( "Index","SaisieReferentiel", { searchString: searchterm} )
.done(function( searchResults) {
searchResults.each(function( index ) {
console.log( index + ": " + $( this ).text() );
});
});
}
</script>
我的控制者:
public class SaisieReferentielController : Controller
{
public ActionResult Index(string searchString)
{
if (!String.IsNullOrEmpty(searchString))
{
axeModel.trcubezonequotas = db.TRCUBEZONEQUOTAS.Where(
(s =>
s.VCMEMBRE.ToLower().Contains(searchString.ToLower())
|| s.VCPARENT.ToLower().Contains(searchString.ToLower())
)
);
return View(axeModel);
}
}
但我的 JavaScript 有一个错误:
JavaScript 运行时错误:对象不支持“each”属性或方法