Javascript 我的JQuery正在循环中运行。未捕获范围错误:超过最大调用堆栈大小
这是我的密码Javascript 我的JQuery正在循环中运行。未捕获范围错误:超过最大调用堆栈大小,javascript,jquery,select,Javascript,Jquery,Select,这是我的密码 $('#code').change(function() { $('select[name="country_code"]').on('change', function() { var countryCode = $('#code').val(); console.log(countryCode); $('select[name="country"]').prop("disabled", false); $(
$('#code').change(function() {
$('select[name="country_code"]').on('change', function() {
var countryCode = $('#code').val();
console.log(countryCode);
$('select[name="country"]').prop("disabled", false);
$('select[name="country"]').val(countryCode).trigger('change');
});
});
$('#country').change(function() {
$('select[name="country"]').on('change', function() {
var countryName = $('#country').val();
console.log(countryName);
$('select[name="country_code"]').prop("disabled", false);
$('select[name="country_code"]').val(countryName).trigger('change');
});
});
当我更改国家代码时,国家应自动获取并显示在选择选项中。这是完美的工作,但当我控制台这是无休止地运行和一个错误“未捕获的范围错误:最大调用堆栈大小超过”“即将到来
提前感谢 尝试将此事件置于外部:
$('select[name=“country”]”)。在('change',function()上{
var countryName=$('#country').val();
console.log(countryName);
$('select[name=“country_code”]).prop(“disabled”,false);
$('select[name=“country_code”]').val(countryName).trigger('change');
});代码>你也可以分享你的HTML吗?我有两个下拉列表。一个是国家代码选择(id:code),另一个是国家选择(id:country)问题1)您不应该在事件处理程序中添加事件处理程序。这意味着,例如,每次#code
更改时,您都会在select上添加同一事件处理程序的另一个副本—它们只是加倍。当触发时,它们都将运行。问题2)您没有向我们显示您的HTML,但是如果在其他事件处理程序中设置的任何一个事件处理程序上的选择器也与外部选择器上的选择器匹配,您将得到一个递归循环。元素#country是由javascript代码生成的吗?