javascript - Jquery 需要切换输入文本框 - Jquery 中弃用的当前方法

标签 javascript jquery html

<分区>

我有一个网络应用程序,如果申请人有美国地址,我需要在其中显示一组输入文本框;如果申请人有非美国地址,一些美国文本框将被禁用,一些之前禁用的文本框将被启用(基本上打开/关闭非美国地址框和美国地址框)。

这是我目前拥有的代码。它适用于 JQuery 1.7,但 .change(fn) 和代码的其他部分似乎在更新的 JQuery 版本中已被弃用。我是 JQuery 的新手,所以我不确定如何重写它。我无法在 Google 上找到任何示例。

$(document).ready(function() {
  $('#ForeignAddress').change(function() {
    if ($(this).attr('checked')) {
      $('#nonUSAddress').removeAttr('disabled');
      $('#USAddress').attr('disabled', 'disabled');
    } else {
      $('#nonUSAddress').attr('disabled', 'disabled');
      $('#USAddress').removeAttr('disabled');
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<form>
  <p><input id="ForeignAddress" type="checkbox" /> Foreign Address</p>
  <input id="nonUSAddress" type="text" value="NON US ADDRESS" disabled="disabled" />
  <input id="USAddress" type="text" value="US ADDRESS" />
</form>

由于我选择的 JQuery 版本,该代码片段目前可以运行,但是如果我将它设置为更新的 JQuery,它就无法运行。如果有人可以提供一个示例,说明我应该如何在不使用已弃用的快捷方式代码的情况下编写此代码,那就太好了。谢谢!

最佳答案

你需要使用$(this).prop('checked')。要自己解决这些问题,只需查看控制台输出并用谷歌搜索相应的 JQMIGRATE 文本。在这种情况下,我得到了:JQMIGRATE: jQuery.fn.attr('selected') may use property instead of attribute

关于javascript - Jquery 需要切换输入文本框 - Jquery 中弃用的当前方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49639376/

相关文章:

javascript - 我想编写一个异步 JSON 联系人,它将覆盖我的 data.json 文件的内容

javascript - .aspx 页面 - 在 pageLoad() 中使用 document.getElementById

javascript - jQuery slider 起始位置

javascript - 使用 jQuery 编辑和选择文本

html - 我可以在 schema.org Rich Snippets 的 Span 标签中使用多个 ItemProps 吗?

javascript - mousedown 事件不适用于动态添加的元素

javascript - 使用 jQuery 追加新元素的安全方法是什么?

javascript - DataTable,导出为 pdf 不能正常使用两个标题和 colspan

javascript - 使用jquery调整窗口大小的函数

javascript - 使用 Promises 迭代删除 IndexedDb 中的项目