我得到了一个错误的代码,以前的工作良好。我不确定我是否对它做了任何修改。
错误:
SyntaxError:缺少;在语句之前
代码片段:
function ChangeOptions() {
var x = document.getElementById("Select1").value;
var y = document.getElementById("Select2");
var z = document.getElementById("Select3");
if(x == "Sch"){y.innerHTML = "<option value="Sch1">Sch1</option><option value="Sch1">Sch2</option>";
z.innerHTML = "<option value="1">1</option><option value="1" value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option>";}
if(x == "COMM"){y.innerHTML = "<option value="COMM1">COMM1</option><option value="COMM2">COMM2</option>";
z.innerHTML = "<option value="1-4">1-4</option><option value="5-7">5-7</option><option value="8-10">8-10</option>";}
if(x == "Inst"){y.innerHTML = "<option value="Inst1">Inst1</option><option value="Inst2">Inst2</option>";
z.innerHTML = "<option value="1-4">1-4</option><option value="5-7">5-7</option><option value="8-10">8-10</option>";}
}
当我最初加载我的站点时,我会在控制台中得到这个错误。如果我单击html中调用onchange事件函数的select按钮,则会得到一个错误。
ReferenceError:未定义ChangeOptions
但是,当我删除条件运算符(Ifs)时,没有定义ReferenceError: ChangeOptions
有人能指点我一下吗?
发布于 2016-06-12 04:18:31
你的弦被内部双引号撕裂了。在外部使用单引号或使用反斜杠转义内部引号。
例如"This is a \"valid\" string"
或'This is a "valid" string'
也是。
用三重等号来表示完全相等。除非你知道使用双等于相等匹配的确切原因,否则不要。这是我的2分钱。
function ChangeOptions() {
var x = document.getElementById("Select1").value;
var y = document.getElementById("Select2");
var z = document.getElementById("Select3");
if (x === "Sch") {
y.innerHTML = '<option value="Sch1">Sch1</option><option value="Sch1">Sch2</option>';
z.innerHTML = '<option value="1">1</option><option value="1" value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option>';
}
if (x === "COMM") {
y.innerHTML = '<option value="COMM1">COMM1</option><option value="COMM2">COMM2</option>';
z.innerHTML = '<option value="1-4">1-4</option><option value="5-7">5-7</option><option value="8-10">8-10</option>';
}
if (x === "Inst") {
y.innerHTML = '<option value="Inst1">Inst1</option><option value="Inst2">Inst2</option>';
z.innerHTML = '<option value="1-4">1-4</option><option value="5-7">5-7</option><option value="8-10">8-10</option>';
}
}
发布于 2016-06-12 04:14:37
我在这里看到了几个问题。您将需要转义内部双引号,或者更好地将单引号用于外部字符串。
function ChangeOptions() {
var x = document.getElementById("Select1").value;
var y = document.getElementById("Select2");
var z = document.getElementById("Select3");
if(x == "Sch"){
y.innerHTML = '<option value="Sch1">Sch1</option><option value="Sch1">Sch2</option>';
z.innerHTML = '<option value="1">1</option><option value="1" value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option>';
}
if(x == "COMM") {
y.innerHTML = '<option value="COMM1">COMM1</option><option value="COMM2">COMM2</option>';
z.innerHTML = '<option value="1-4">1-4</option><option value="5-7">5-7</option><option value="8-10">8-10</option>';
}
if(x == "Inst") {
y.innerHTML = '<option value="Inst1">Inst1</option><option value="Inst2">Inst2</option>';
z.innerHTML = '<option value="1-4">1-4</option><option value="5-7">5-7</option><option value="8-10">8-10</option>';
}
}
https://stackoverflow.com/questions/37770649
复制相似问题