将调用程序传递给javascript函数,该函数允许我使用.attr方法

时间:2018-07-16 09:23:59

标签: javascript jquery

我正在使用C#、. NET Framework 4.7和jQuery 1.11开发ASP.NET MVC 5应用程序。

-Name

该代码引发错误,表明该对象不接受function RequestCodes(button, poId) { button.attr("disabled", "disabled"); 方法。我称这个功能为

.attr

也许最好传递ID而不是对象。

如何将调用方作为参数传递来禁用它?

1 个答案:

答案 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);
  });
});