我试图在用户单击按钮后分配一个值。 我的元素是使用 Html.HiddenFor 初始化的,如下所示。
@Html.HiddenFor(model => model.WirelessServices[Model.WirelessServices.IndexOf(line)].InitiatePort, new { id = (lineNumber + "_InitiatePort"), value = Model.WirelessServices[Model.WirelessServices.IndexOf(line)].InitiatePort, Name = (lineNumber + "_InitiatePort") })
用户单击按钮后,将调用一个方法来尝试使用 Javascript 进行分配。 我无法弄清楚如何在函数中分配值。 我需要将该值更改为“True”,以便当我返回控制器时我可以使用该值。
如果按钮是“行”的一部分(例如数据表),请确保其单击事件处理程序有权获取此行号。通常这意味着有一个可用的“data-”属性。例如:
假设有一个
for
循环并声明了 @lineNumber...
@Html.HiddenFor(model => model.WirelessServices[Model.WirelessServices.IndexOf(line)].InitiatePort, new { id = (lineNumber + "_InitiatePort"), value = Model.WirelessServices[Model.WirelessServices.IndexOf(line)].InitiatePort, Name = (lineNumber + "_InitiatePort") })
<button type="button" data-line-number="@lineNumber" onclick="toggleLine">Toggle</button>
然后在你的处理程序中:
function toggleLine(e){
let $button = $(e.target);
let lineNumber = $button.data('line-number');
let $hidden = $(`#${lineNumber}_InitiatePort`);
$hidden.val('{Updated Value}`);
}
显然,对于 JS,无论是使用 JQuery、ES 模块等,还是有 1000 种给猫剥皮的方法。但这应该会给你一些想法,让它回到正轨。