下面是我在 ASP MVC 视图中引用的 jQuery 版本
<script src="http://code.jquery.com/jquery-1.8.3.js" type="text/javascript"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js" type="text/javascript"></script>
使用autocomplete
小部件,我希望表单根据用户从autocomplete
列表中的选择填写一个单独的文本框。在此页面上,用户将开始输入银行名称。一旦用户选择了他们需要的银行,另一个名为 的字段Dynamics ID
需要填充适当的值。这是现在编写的 jQuery
$(function () {
$("#BankNameAuto").autocomplete({
source: '@Url.Action("GetBanks", "AgentTransmission")',
minLength: 1,
onComplete: function (data) {
$.getJSON('@Url.Action("GetDynamicsId", "AgentTransmission")', data, function (result) {
$('Dynamics').val(result);
})
}
});
});
这是上面jQuery中调用的两个控制器方法
//GET
public JsonResult GetBanks(string term)
{
var banks = from c in db.BankListMaster.Where(n => n.BankName.Contains(term))
select c.BankName;
banks = banks.Distinct();
return Json(banks, JsonRequestBehavior.AllowGet);
}
//GET
public JsonResult GetDynamicsId(string term)
{
var dynamics = from c in db.BankListMaster.Where(n => n.BankName.Equals(term))
select c.LinkRepsToDynamicsUniqueId;
dynamics = dynamics.Distinct();
return Json(dynamics, JsonRequestBehavior.AllowGet);
}
一旦用户从列表中进行了选择,我希望能够将 ID
值发送回该银行。它作为BankListMaster
表的主键,其中BankName
和DynamicsId
都是字段。但是,我还是 jQuery 的新手,所以我可能无法做到这一点。
现在,我已经在两个控制器方法的第一行设置了一个断点。断点每次都会触发,GetBanks
但是我根本无法GetDynamicsId
触发。
编辑
由于我只BankName
在第一个查询中选择了字段,因此我调整了GetDynamicsId
使用银行名称作为参数的方法。