有没有办法在 JavaScript 代码块中设置 razor @HTML.Hidden 控件值?
<tbody>
@Html.Hidden("customerID")
@if (Model != null)
{
var customers = Model.Customers.ToList();
for (var i = 0; i < customers.Count; i++)
{
<tr class="gradeX">
<td>
<a href="#"><span onclick="GetCustomerID()">@customers[i].CustomerId.ToString()</span></a>
</td>
<td>
<a href="#">@customers[i].Name</a>
</td>
</tr>
}
}
</tbody>
我的 JavaScript block 是
<script type="text/javascript">
var globleCustomerId = null;
function GetCustomerID() {
globleCustomerId = $('#customerID').val();
//globleCustomerId value should be set to @Html.Hidden()
}
</script>
在此 JavaScript block 中,我需要将 globleCustomerId 值设置为 @Html.Hidden("customerID")。
如何获得该值?
最佳答案
您可以使用.val()
方法:
$('#customerID').val('some value');
有 2 个重载:一个不接受任何参数,允许您读取值(这就是您在问题中显示的值),另一个重载接受参数并设置值(第一个重载)。我已经在我的回答中展示了)。
<小时/>更新:
显然您正在尝试将单击的客户 ID 的值放入隐藏字段中。在这种情况下,您可以简单地为您的 span 元素提供一个类:
<a href="#">
<span class="customerId">
@customers[i].CustomerId.ToString()
</span>
</a>
然后只需订阅该元素的点击事件即可:
$(function() {
$('.customerId').click(function() {
$('#customerId').val($(this).text());
return false;
});
});
关于c# - 在 javascript 函数中设置 razor @Html.Hidden,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11647623/