我正在构建一个动态创建的字符串,其中正在查看其值等的多个下拉列表。
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个下拉列表中的一个 - 然后就可以了。不知道为什么这两个都不能使用。
更新:我确实在创建函数中进行了建议但非常相似的更改。
未捕获的SyntaxError:意外的令牌}
这是什么功能:
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]);
}
}
答案 0 :(得分:1)
该错误的存在是因为您的参数列表从未关闭过:
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);
}
回调后,需要关闭语句。所以你会喜欢这样:
Activate