首页 文章

错误:语法错误,使用input [name]检查无法识别的表达式:选中的选择器

提问于
浏览
0

我在社交媒体上编码,它工作非常整洁,直到我在safari上查看它 . 在这里它一直把这个错误扔给我,我无法自己解决 - 我已经尝试过了;) . 一旦您访问我的设置页面,我就会出现错误,其中我有一个将数据发送到后端的ajax请求 . 这就像safari引擎认为有一个缺少的端括号 . 我正在使用jQuery v3.3.1

The error

Error: Syntax error, unrecognized expression: input[name='assault'     
(anonymous function) - jquery.js 2:31048

important html code

<form id="settingsForm">    
    <div>
       <label>
         <div><img src="images/loggedin/csgo/assault.png"></div>
         <div class="hidden"><input type="checkbox" name="assault" value="1"></div>
        </label>
    </div>
</form>

important jquery code

$(document).on("submit", "#settingsForm", function(e){
        e.preventDefault();
        var assault     = $("input[name='assault']:checked").val();
        if (assault != "1") { assault = ""; }

        //doing my ajax request here...
});

2 回答

  • -1

    尝试以下方法,看看它是否有效 .

    相反,如果在按名称检查时在同一选择器中使用“:checked”,则可以尝试使用is()方法 .

    if(!$("input[name='assault']").is(":checked")){
        // checkbox is not checked
    }
    

    此外,您可以检查您使用的是哪个版本的Safari以及是否支持此功能 . jQuery - Browser Support

  • 1

    如果你对错误是什么感到好奇......你去吧 . 我很快就会删除这个问题

    function addColorROLE(toDo){
    
                var roles       = ["assault", "sniper", "csgosupport", "assasin", "fighter", "mage", "marksman", "lolsupport", "tank"];
                var rolesCsgo   = ["assault", "sniper", "csgosupport"];
                var rolesLOL    = ["assasin", "fighter", "mage", "marksman", "lolsupport", "tank"];
    
                if (toDo == "1"){
                    var checkChecked = 0;
                    while (roles.length - 1 >= checkChecked){
                        if ($("input[name='"+roles[checkChecked]+"'").prop("checked")){
                            $("input[name='"+roles[checkChecked]+"'").parent().parent().find("img").addClass("pickedRole");
                            $("input[name='"+roles[checkChecked]+"'").parent().parent().prepend('<div class="selectedCheckedS"><img src="images/overall/check.png"></div>');
                        } else {
                            $("input[name='"+roles[checkChecked]+"'").parent().parent().find("img").removeClass("pickedRole");
                            $("input[name='"+roles[checkChecked]+"'").parent().parent().find(".selectedCheckedS").remove();
                        }
                        checkChecked++;
                    }
                } else if (toDo == "2"){
                    var checkedTwo = 0;
                    while (rolesLOL.length - 1 >= checkedTwo){  
                        $("input[name='"+rolesLOL[checkedTwo]+"'").prop("checked", true);
                        $("input[name='"+rolesLOL[checkedTwo]+"'").parent().parent().find("img").addClass("pickedRole");
                        $("input[name='"+rolesLOL[checkedTwo]+"'").parent().parent().prepend('<div class="selectedCheckedS"><img src="images/overall/check.png"></div>');   
                        checkedTwo++;
                    }
                } else if (toDo == "3"){
                    var checkedThree = 0;
                    while (rolesCsgo.length - 1 >= checkedThree){
                        $("input[name='"+rolesCsgo[checkedThree]+"'").prop("checked", true);
                        $("input[name='"+rolesCsgo[checkedThree]+"'").parent().parent().find("img").addClass("pickedRole");
                        $("input[name='"+rolesCsgo[checkedThree]+"'").parent().parent().prepend('<div class="selectedCheckedS"><img src="images/overall/check.png"></div>');    
                        checkedThree++;
                    }
                }
            }
    

相关问题