Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery需要切换输入文本框-当前方法在Jquery中已弃用_Javascript_Jquery_Html - Fatal编程技术网

Javascript Jquery需要切换输入文本框-当前方法在Jquery中已弃用

Javascript Jquery需要切换输入文本框-当前方法在Jquery中已弃用,javascript,jquery,html,Javascript,Jquery,Html,我有一个web应用程序,如果申请人有美国地址,我需要在其中显示一组输入文本框;如果申请人有非美国地址,则会禁用一些美国文本框,并启用一些以前禁用的文本框(基本上会打开/关闭非美国地址框和美国地址框) 这是我目前拥有的代码。它与jQuery1.7配合使用,但是.change(fn)和其他部分的代码在较新版本的JQuery中似乎不受欢迎。我是JQuery新手,所以我不知道如何重写它。我在谷歌上找不到任何例子 $(文档).ready(函数(){ $('#ForeignAddress').change

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

这是我目前拥有的代码。它与jQuery1.7配合使用,但是.change(fn)和其他部分的代码在较新版本的JQuery中似乎不受欢迎。我是JQuery新手,所以我不知道如何重写它。我在谷歌上找不到任何例子

$(文档).ready(函数(){
$('#ForeignAddress').change(function(){
if($(this.attr('checked')){
$('#nonUSAddress').removeAttr('disabled');
$('#USAddress').attr('disabled','disabled');
}否则{
$('nonUSAddress').attr('disabled','disabled');
$('#USAddress').removeAttr('disabled');
}
});
});

外文地址


您需要使用
$(this).prop('checked')
。要自己解决这些问题,只需查看控制台输出并用谷歌搜索相应的JQMIGRATE文本。在本例中,我得到了:

使用
.prop
而不是
.attr
来测试该框是否被选中。或者只是
这个。选中了

$(文档).ready(函数(){
$('#ForeignAddress').change(function(){
if($(this.prop('checked')){
$('#nonUSAddress').removeAttr('disabled');
$('#USAddress').attr('disabled','disabled');
}否则{
$('nonUSAddress').attr('disabled','disabled');
$('#USAddress').removeAttr('disabled');
}
});
});

外文地址


我不认为你所写的内容有任何不推荐的地方。感谢Kevin B提供了重复问题的链接,但我认为,通过阅读前面“重复”问题的答案,我会花很长时间来找出答案。对于Jquery来说,Barmar的回答是最有帮助的。我非常感谢上一个问题的答案,我一定会阅读并尝试理解。对该问题的提及可能只是促使您尝试从attr切换到prop,您会发现它是有效的。谢谢,Paul。当我使用控制台输出并查看JQMigrate时,我得到了JQMigrate:jQuery.fn.change()事件速记不推荐使用。这就是为什么我认为这是一种不受欢迎的速记方法或者我正在使用的东西。也许我没有正确使用JQMIGRATE。使用.prop('checked')有效。再次感谢你的帮助!谢谢你,巴尔马。这成功了!我很感激。非常感谢你给我看代码。我通过看例子学习得最好。干杯