所以问题来了:我有一个product
包含列ID
, Name
, Type
(Brand or Product) 和ParentProduct
(Select List)的表格。
现在想象该Products
表有一些记录,其中一些是(类型)产品,而另一些是品牌,我想要的是,在插入一个Product
类型为 = 产品的新产品时,然后ParentProduct
显示类型为品牌的产品,而将产品作为品牌插入则是父产品选择列表已禁用。
您可以使用jQuery获取该Type
值,然后判断是否禁用该值ParentProduct
。
这是您可以遵循的简单演示:
型号:
public class Product
{
public int ID { get; set; }
public string Name { get; set; }
public string Type { get; set; }
public string ParentProduct { get; set; }
}
public class Brand
{
public int ID { get; set; }
public string Name { get; set; }
}
查看(创建.cshtml):
@model Product
<div class="row">
<div class="col-md-4">
<form asp-action="Create">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="Name" class="control-label"></label>
<input asp-for="Name" class="form-control" />
<span asp-validation-for="Name" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Type" class="control-label"></label>
<select asp-for="Type" class="form-control">
<option value="0">Select a Type</option>
<option value="Brand">Brand</option>
<option value="Product">Product</option>
</select>
<span asp-validation-for="Type" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="ParentProduct" class="control-label"></label>
<select asp-for="ParentProduct" class="form-control" asp-items="@ViewBag.Brand" disabled>
<option>Select a Brand</option>
</select>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-primary" />
</div>
</form>
</div>
</div>
<div>
<a asp-action="Index">Back to List</a>
</div>
@section Scripts
{
<script>
$("#Type").change(function () {
var v = $(this).val();
console.log(v);
if (v == "Product") {
$("#ParentProduct").removeAttr('disabled');
}
else {
$("#ParentProduct").prop('disabled', true);
}
});
</script>
}
控制器:
public class HomeController : Controller
{
private readonly YourDbContext _context;
public HomeController(YourDbContext context)
{
_context = context;
}
public IActionResult Privacy()
{
ViewBag.Brand = new SelectList(_context.Brands.ToList(), "ID", "Name");
return View();
}
}
结果:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句