Html.HiddenFor 赋值

问题描述 投票:0回答:1

我试图在用户单击按钮后分配一个值。 我的元素是使用 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”,以便当我返回控制器时我可以使用该值。

html jquery asp.net-mvc html.hiddenfor
1个回答
0
投票

如果按钮是“行”的一部分(例如数据表),请确保其单击事件处理程序有权获取此行号。通常这意味着有一个可用的“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 种给猫剥皮的方法。但这应该会给你一些想法,让它回到正轨。

© www.soinside.com 2019 - 2024. All rights reserved.