未捕获范围错误jQuery错误

未捕获范围错误jQuery错误,jquery,Jquery,有两个问题,底部表达式总是返回true,即使它是false。控制台中也出现了一个错误: 未捕获范围错误:超过最大调用堆栈大小 第二个条件始终为真,因为所选内容始终不同于'46'或'49' 所选不能同时为两个不同的值 我相信你需要一个比较的方法 $(".other_option").change(function() { var selected = $(this).val(); if (selected == 46 || selected == 49) { $(

有两个问题,底部表达式总是返回
true
,即使它是
false
。控制台中也出现了一个错误:

未捕获范围错误:超过最大调用堆栈大小


第二个条件始终为真,因为所选内容始终不同于
'46'
'49'

所选
不能同时为两个不同的值

我相信你需要一个比较的方法

$(".other_option").change(function() {
    var selected = $(this).val();

    if (selected == 46 || selected == 49) {
        $(this).parent().find(".js-register-field-other").slideDown();
    }

    if (selected !== '46' || selected !== '49') {
        $(this).parent().find(".js-register-field-other").hide();
    }
}); 
在这种情况下,您也可以编写
else
来代替此条件


但是ocoured错误与给定的代码无关。

您混合了比较类型
==46
!='46'
Integer和String compare可以详细说明您要实现的目标。我几乎可以保证第二个if语句逻辑有缺陷。您描述的错误似乎与您显示的代码无关。
if (selected !== '46' && selected !== '49') {
    $(this).parent().find(".js-register-field-other").hide();
}