我有一个输入字段,其中显示了产品的可用性。我还有一个下拉列表,用户可以在其中选择所需数量的产品。当用户点击“提交”按钮时,这两个值都保存到数据库中。
我要检查用户在下拉列表中选择的数量是否大于产品可用性的数量。 如果是这种情况,则在提交时,应该有一个弹出窗口(提示),表明选择无效。
示例:
该产品的可用性是50
从下拉列表中选择的值为53
警报(“您可以选择1-50”)。
任何人都可以帮助我或为我指明正确的方向吗?
提前致谢。
查看:
@using Namespace.Models
@model RMAHistory
//Quantity
<div class="col-md-3">
<div class="form-group">
<label>Quantity </label>
<input name="Antal" id="Antal" class="form-control border-input disabled" value="@string.Format("{0:N0}", Model.InvoiceDetailsSingelLine.Quantity)">
</div>
</div>
//DropDown
<div class="col-md-12">
<div class="form-group">
<label>Number of returning</label>
@Html.DropDownListFor(model => model.SelectedRMAAntal, Enumerable.Range(0, 11).Select(x => new SelectListItem { Text = x.ToString() }), "- Select - ", new { @class = "form-control border-input" })
</div>
</div>
<button id="btn" type="submit" class="btn">Send</button>
控制器和RMAHistory ViewModel:
public class RMAHistory
{
public List<SelectListItem> RMAAntal { set; get; }
public int? SelectedRMAAntal { set; get; }
public string AntalRMA { get; set; }
public string Antal { get; set; }
}
public JsonResult ProcessRequestRMA(RMAHistory model,string SelectedRMAAntal){
var RMA = new RMA_History
{
Antal = model.Antal,
AntalRMA = SelectedRMAAntal
};
db.RMA_History.Add(RMA);
db.SaveChanges();
return Json(model, JsonRequestBehavior.AllowGet);
}
JavaScript:
<script>
$(document).ready(function () {
$("#btn").click(function (e) {
e.preventDefault();
return myfunction();
});
function myfunction() {
var model = {
Antal: $("#Antal").val(),
SelectedRMAAntal: $("#SelectedRMAAntal").val()
}
$.ajax({
type: 'POST',
url: "/Account/ProcessRequestRMA",
dataType: 'json',
data: {
Antal: model.Antal,
SelectedRMAAntal : model.SelectedRMAAntal
},
success: function (status) {
if (status) {
status.Antal = model.Antal;
status.AntalRMA = model.SelectedRMAAntal;
console.log("Send");
}
else {
alert("Something Wrong");
}
},
error: function () {
console.log('something went wrong - debug it!');
}
});
}
});
</script>
答案 0 :(得分:0)
只需设置范围,以使最大数量是模型中的可用数量
@Html.DropDownListFor(model => model.SelectedRMAAntal, Enumerable.Range(0, Model.InvoiceDetailsSingelLine.Quantity).Select(x => new SelectListItem { Text = x.ToString() }), "- Select - ", new { @class = "form-control border-input" })