未來的值填充下拉列表我的issuedate
這些日期的下拉在我的下拉通過在HTTP上應用一些過濾器獲得方法從另一個下拉
ViewBag.PMID1 = new SelectList(db.PRIMKT_MAST.Where(z => z.PRODUCT_ID == j && z.REC_VERIFIED == 0 && z.VERIFY_LOCK == 0 && z.TRTYPE == i), "PMID", "ISSUE_DATE");
這是我的下拉列表填充。
@ Html.LabelFor(型號=> model.ISSUE_DATE,新的{@class = 「控制標籤COL-MD-2」}) @ Html.DropDownList( 「PMID1」,NULL,新的{@onchange = 「FillTenor()」}) @ Html.ValidationMessageFor(型號=> model.ISSUE_DATE)現在我想在此下拉列表是在發行日的基礎上填充像select auctionid where issuedate = dropdown selected value
AUCTIONID
當我們得到auctionid
我想採取此auctionid
和在其他表中搜索並填寫像 select Tenors(i want to select this value) where auctionid is (whatever we get from dropdown)
這個auctionid
的基礎另一個下拉這就是我要填寫
<div class="form-group">
@Html.LabelFor(model => model.TENOR_ID, "TENOR_ID", new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownListFor(m => m.TENOR_ID,
new SelectList(Enumerable.Empty<SelectListItem>(), "AUCDT_ID", "TENOR_ID"),
"Select Tenors",
new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.BRANCH_ID)
</div>
</div>
This is my Controller
public ActionResult Create()
{
ViewBag.AUCTION_ID = new SelectList(db.AUCTION_DATA, "AUCTION_ID", "PRODUCT_ID");
ViewBag.CUSTOMER_ID = new SelectList(db.CUSTOMERs, "CUSTOMER_ID", "CUSTOMER_NAME");
ViewBag.PMID = new SelectList(db.PRIMKT_MAST, "PMID", "PRODUCT_ID");
ViewBag.BRANCH_ID = new SelectList(db.BRANCHes, "BRANCH_ID", "BRANCH_DESC");
//ViewData["ListofIssueDate"] = db.PRIMKT_MAST.Where(z => z.PRODUCT_ID == Session["Product_Id"] && z.REC_VERIFIED == 0 && z.VERIFY_LOCK == 0 && z.TRTYPE == Convert.ToInt32(Session["Trtype"])).Select(z => z.ISSUE_DATE);
int i = Convert.ToInt32(Session["Trtype"]);
string j =Convert.ToString(Session["Product_Id"]);
ViewBag.PMID1 = new SelectList(db.PRIMKT_MAST.Where(z => z.PRODUCT_ID == j && z.REC_VERIFIED == 0 && z.VERIFY_LOCK == 0 && z.TRTYPE == i), "ISSUE_DATE", "ISSUE_DATE");
return View();
}
我的AJAX調用我的第二Dropdownt名單..
@section script {
<script>
function FillTenor() {
var IssueDate = $('#PMID1').val();
$.ajax({
url: '@Url.Action("FillCity", "PrimaryMarket")',
type: "GET",
dataType: "JSON",
data: { IssueDate: $("#PMID1").val() },
success: function (Tenor) {
$("#TENOR_ID").html(""); // clear before appending new list
$.each(Tenor, function (i, AUCDATA_TENORS) {
$("#TENOR_ID").append(
$('<option></option>').val(AUCDATA_TENORS.AUCDT_ID).html(AUCDATA_TENORS.TENOR_ID));
});
}
});
}
</script>
}
My onchange Method
[HttpGet]
public ActionResult FillTenor(DateTime? IssueDate)
{
var auctionid = db.PRIMKT_MAST.Where(c => c.ISSUE_DATE == IssueDate).Select(c=>c.AUCTION_ID).ToList();
var Tenor = db.AUCDATA_TENORS.Where(c => c.AUCTION_ID ==(auctionid[0])).Select(c => c.TENOR_ID);
return Json(Tenor, JsonRequestBehavior.AllowGet);
}
搜索MVC級聯下拉列表(請參閱[本DotNetFiddle(https://dotnetfiddle.net/1bPZym)的例子) –
使用JavaScript級聯下拉列表中,捕捉'PMID1'的值並使ajax調用來加載第二個下拉列表的值。 –
我已經做了一個ajax調用,我的函數正在處理下拉事件的變化'public ActionResult FillTenor(DateTime?IssueDate) { var auctionid = db.PRIMKT_MAST.Where(c => c.ISSUE_DATE == IssueDate).Select C => c.AUCTION_ID).ToList(); var Tenor = db.AUCDATA_TENORS.Where(c => c.AUCTION_ID ==(auctionid [0]))。Select(c => c.TENOR_ID); return Json(Tenor,JsonRequestBehavior.AllowGet); }'但它給了我例外@TetsuyaYamamoto –