从下拉列表中选择的多个 javascript 似乎无法共存

Multiple javascript selected from dropdown cannot seem to co-exist

我正在构建一个动态创建的字符串,其中正在查看多个下拉菜单的值等。

HTML:    <div id="codeSnip">WHERE ... </div>

然后在按钮上单击一个 javascript 函数被调用:

function applyFilters(val)  {

    var x = document.getElementById("codeSnip");
    var newDiv = document.createElement("div"); 
    var newContent = document.createTextNode("Hi there and greetings!"); 

    //var column = []; 
    //$('[id^=selectNumber] :selected').each(function(i, selected){ 
    //column[i] = $(selected).text(); 

    var conditions = []; 
    $('[id^=condition] :selected').each(function(z, selected){ 
    conditions[z] = $(selected).text();      


    //newContent = document.createTextNode(column[i]);  
    //x.appendChild(newContent); //add the text node to the newly created div. 
    newContent = document.createTextNode(conditions[z]);  
    x.appendChild(newContent); 

    newContent =  document.createTextNode(" AND ");  
    x.appendChild(newContent); 

});

如果我的原始列创建者没有错误,我似乎无法同时存在这两个下拉菜单,该错误在运行时实际上与警报无关,console.log 不报告任何内容。

Error:   Uncaught SyntaxError: missing ) after argument list  

-(用于动态创建下拉列表的不同功能)但是一旦我注释掉名为 selectNumber[= 的 2 个下拉列表中的 one 32=] 或 condition - 然后就可以了。不确定为什么不能使用这两个。

更新:我确实进行了建议的更改,但在创建函数时出现了非常相似的错误。

未捕获的语法错误:意外的标记}

这是哪个函数:

function columnCreator(columnArray, selectId) {
    var dropdown = document.getElementById(selectId);
    for (var i = 0; i < columnArray.length; ++i) {
        // Append the element to the end of Array list
        dropdown[dropdown.length] = new Option(columnArray[i], columnArray[i]);
    }

}

存在该错误是因为您的参数列表从未关闭:

$('[id^=selectNumber] :selected').each(callback);

回调后需要关闭语句。所以你会遇到这样的事情:

function applyFilters(val)  {

    var x = document.getElementById("codeSnip");
    var newDiv = document.createElement("div"); 
    var newContent = document.createTextNode("Hi there and greetings!"); 

    var column = []; 
    $('[id^=selectNumber] :selected').each(function(i, selected){ 
        column[i] = $(selected).text(); 

        newContent = document.createTextNode(column[i]);  
        x.appendChild(newContent); //add the text node to the newly created div. 
    });

    var conditions = []; 
    $('[id^=condition] :selected').each(function(z, selected){ 
        conditions[z] = $(selected).text();

        newContent = document.createTextNode(conditions[z]);  
        x.appendChild(newContent);  
    }); 

    newContent =  document.createTextNode(" AND ");  
    x.appendChild(newContent); 

}