jQuery:如何启用已禁用的锚标记

时间:2015-04-24 09:17:48

标签: jquery

您好我正在尝试根据获取REST响应启用已禁用的锚标记。我试过以下:

  function enableDisableButton(data) {
  if (data.defaultStatus == true) {
      $('#setDefaultGraph').prop("disabled", true);
      $('#unsetDefaultGraph').prop("disabled", false);
  } else {
      $('#setDefaultGraph').prop("disabled", false);
      $('#unsetDefaultGraph').prop("disabled", true);
      }
  }

我的HTML:

            <div class="col-lg-12" id="setDefault">
            <br />
            <a id="setDefaultGraph" class="btn btn-small btn-info" data-toggle="modal" href="#setDefaultGraphModal" name="setDefaultGraph" disabled>Set as default!</a>
            <a id="unsetDefaultGraph"  class="btn btn-small btn-info" data-toggle="modal" href="#unsetDefaultGraphModal" name="unsetDefaultGraph" disabled>Remove as default!</a>
        </div>

我已在页面加载和放大器上禁用了锚标记。应该在用户输入上表现出sa。但没有任何工作......

任何帮助都会一直受到赞赏...... 提前致谢

5 个答案:

答案 0 :(得分:2)

根据条件向链接添加数据属性。并且在锚标记上的click事件上检查该属性。试试 -

  if (data.defaultStatus == true) {
      $('#setDefaultGraph').data("disabled", true);
      $('#unsetDefaultGraph').data("disabled", false);
  } else {
      $('#setDefaultGraph').data("disabled", false);
      $('#unsetDefaultGraph').data("disabled", true);
      }
  }

点击事件检查属性 -

  $('a').on('click', function(e) {
     if ($(this).data('disabled')) {
         e.preventDefault();
     }
  })

<强>更新

如果您想停止显示modal -

的链接
$('#setDefaultGraph').data("toggle", '').css('color', '#ccc');

添加css看起来已被禁用。

答案 1 :(得分:0)

尝试删除它,这肯定会有效:

function enableDisableButton(data) {
  if (data.defaultStatus == true) {
      $('#setDefaultGraph').prop("disabled", true);
      $('#unsetDefaultGraph').removeAttr("disabled");
  } else {
      $('#setDefaultGraph').removeAttr("disabled");
      $('#unsetDefaultGraph').prop("disabled", true);
      }
  }

答案 2 :(得分:0)

要设置HTML对象属性,最好使用attr,就像使用prop一样。 More information

function enableDisableButton(data) {
if (data.defaultStatus == true) {
    $('#setDefaultGraph').attr("disabled", true);
    $('#unsetDefaultGraph').attr("disabled", false);
} else {
    $('#setDefaultGraph').attr("disabled", false);
    $('#unsetDefaultGraph').attr("disabled", true);
    }
}

答案 3 :(得分:0)

你试过这个:

   function enableDisableButton(data) {
     if (data.defaultStatus == true) {
         $('#setDefaultGraph').attr('disabled', true);
         $('#unsetDefaultGraph').attr('disabled', false);
         } else if(data.defaultStatus == false){
         $('#setDefaultGraph').attr('disabled', false);
         $('#unsetDefaultGraph').attr('disabled', true);
      }else{
         return false;
            }
    }

使用attr而不是prop

答案 4 :(得分:0)

试试这个,如果你想要禁用锚点,如果你点击它就不会去任何地方,如果我错了,请纠正我。

 if (data.defaultStatus == true) {
      $("#setDefaultGraph").attr('href','javascript:void(0)');
     }