我正在使用C#、. NET Framework 4.7和jQuery 1.11开发ASP.NET MVC 5应用程序。
-Name
该代码引发错误,表明该对象不接受function RequestCodes(button, poId) {
button.attr("disabled", "disabled");
方法。我称这个功能为
.attr
也许最好传递ID而不是对象。
如何将调用方作为参数传递来禁用它?
答案 0 :(得分:1)
问题是因为button
变量包含一个Element对象,而不是jQuery对象。要解决此问题,请将其包装在$()
中。另外,要禁用元素,最好在prop()
上使用attr()
。
function RequestCodes(button, poId) {
$(button).prop("disabled", true);
});
话虽如此,您应该避免使用过时的on*
事件属性。而是附加不引人注目的事件处理程序。由于您已经在使用jQuery,因此可以执行以下操作:
<input type="button" class="your-button" value="@Resources.RequestMoreCodes" data-productionorderid="@Model[index].ProductionOrderId)" />
$(function() {
$('.your-button').click(function() {
var $button = $(this);
var productionOrderId = $button.data('productionorderid');
$button.prop("disabled", true);
});
});