问题描述
使用的工具:Asp.net core 5.0、Visual Studio 2019
我想把DropdownList中的值复制到textBox2中,textBox1是数量(默认为1),
在 textBox3 上是要减去的值(默认为 0)和
在 textBox4 上计算总和,只需选择 DropdownList 上的值?
textBox4 = (textBox1 * textBox2) - textBox3;
有没有办法在 C# 或 Javascript 中做到这一点?
这是我正在使用的创建页面。
<div class="form-group" hidden>
<input asp-for="Rows.Qty" class="form-control" value="1" />
<span asp-validation-for="Rows.Qty" class="text-danger"></span>
</div>
<div class="form-group">
<select class="form-control" asp-items="ViewBag.Price" id="ReadPrice" name="ReadPrice" >
</select>
<input asp-for="Rows.Price" class="form-control font-weight-bold" id="PriceText" name="PriceText" type="text" readonly />
<span asp-validation-for="Rows.Price" class="text-danger"></span>
</div>
<div class="form-group">
<input asp-for="Rows.Subtract" class="form-control text-danger font-weight-bold" value="0" id="SubtractX" name="SubtractX" type="text" />
<span asp-validation-for="Rows.Subtract" class="text-danger"></span>
</div>
<div class="form-group">
<input asp-for="Rows.Sum" class="form-control text-success font-weight-bold" id="SumX" name="SumX" type="number" />
<span asp-validation-for="Rows.Sum" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Save" class="btn btn-success" />
<a asp-page="Index" class="btn btn-secondary ">Back</a>
</div>
</form>
</div>
解决方法
这是一个演示(当下拉更改或输入更改或离开输入字段时,它会计算):
ViewBag.Price:
ViewBag.Price = new List<SelectListItem> { new SelectListItem { Text = "100",Value = "1" },new SelectListItem { Text = "200",Value = "2" },new SelectListItem { Text = "300",Value = "3" } };
查看:
<form>
<div class="form-group">
<input asp-for="Rows.Qty" class="form-control" value="1" onblur="getSum()"/>
<span asp-validation-for="Rows.Qty" class="text-danger"></span>
</div>
<div class="form-group">
<select class="form-control" asp-items="ViewBag.Price" id="ReadPrice" name="ReadPrice">
</select>
<input asp-for="Rows.Price" class="form-control font-weight-bold" id="PriceText" name="PriceText" type="text" readonly />
<span asp-validation-for="Rows.Price" class="text-danger"></span>
</div>
<div class="form-group">
<input asp-for="Rows.Subtract" class="form-control text-danger font-weight-bold" value="0" id="SubtractX" name="SubtractX" type="text" onblur="getSum()"/>
<span asp-validation-for="Rows.Subtract" class="text-danger"></span>
</div>
<div class="form-group">
<input asp-for="Rows.Sum" class="form-control text-success font-weight-bold" id="SumX" name="SumX" type="number" />
<span asp-validation-for="Rows.Sum" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Save" class="btn btn-success" />
<a class="btn btn-secondary ">Back</a>
</div>
</form>
js:
@section scripts{
<script>
$(function () {
$("#PriceText").val($("#ReadPrice").find("option:selected").text());
getSum();
})
$("#ReadPrice").change(function () {
$("#PriceText").val($("#ReadPrice").find("option:selected").text());
getSum();
})
function getSum() {
var sum = parseInt($("#Rows_Qty").val()) * parseInt($("#PriceText").val()) - parseInt($("#SubtractX").val())
$("#SumX").val(sum);
}
</script>
}
,
这对我有用: 谢谢“依依你”
<script>
$(function () {
$("#PriceText").val($("#ReadPrice").find("option:selected").text());
getSum();
})
$("#ReadPrice").change(function () {
$("#PriceText").val($("#ReadPrice").find("option:selected").text());
getSum();
})
function getSum() {
var sum = parseInt($("#Rows_Qty").val()) * parseInt($("#PriceText").val()) - parseInt($("#SubtractX").val())
$("#SumX").val(sum);
}
</script>
<script>
$(function () {
getSum();
})
$("#SubtractX").keyup(function () {
getSum();
})
function getSum() {
var sum = parseInt($("#Rows_Qty").val()) * parseInt($("#PriceText").val()) - parseInt($("#SubtractX").val())
$("#SumX").val(sum);
}
</script>