javascript中的下拉组合
我是JavaScript新手。我试图让这个下拉组合对一个项目有效,但显然这不起作用。你能检查一下这个代码中的错误吗 这是html代码javascript中的下拉组合,javascript,jquery,Javascript,Jquery,我是JavaScript新手。我试图让这个下拉组合对一个项目有效,但显然这不起作用。你能检查一下这个代码中的错误吗 这是html代码 <select id="chartSelect" onchange="changeChart(this.value);"> <option value="Line">Line Chart</option> <option value="Pie">Pie Chart</option> &l
<select id="chartSelect" onchange="changeChart(this.value);">
<option value="Line">Line Chart</option>
<option value="Pie">Pie Chart</option>
<option value="Map">Choropleth Map</option>
</select>
<select id="dataSelect" onchange="changeData(this.value);">
<option value="House">House Data</option>
<option value="Toilet">Toilet Data</option>
</select>
这是指向JSFIDLE的链接
你的问题。在jsiddle中,函数以onload方式加载(因为在jsiddle选项中设置了onload)。如果它在onload中,则仅对onload函数可用,而对HTML本身不可用 我的更新:
我刚把:
onload
改为No wrap-in
。我还删除了其中包含未定义变量ele
的函数,尽管这与问题无关。您在这里编写的代码是正确的,但您的fiddle js部分还有一行。只要把它从小提琴上取下来,它就会起作用
唯一的问题是您没有ChangeData()的定义,请添加它。
您需要添加所有条件。它正在使用书面条件。您在changedata()函数中还有一个错误没有定义,还有一个错误是changeChart(this.value);但是在函数中没有使用this.value,所以我改进了您的代码以避免错误
为什么不能使用Firebug或Google Chromes Developers console来帮助调试?我的控制台特别告诉我
未捕获引用错误:ele未定义
我尝试过。我真的不能这样做。当我更改一个值时,我会得到未捕获的引用错误:未定义changeChart
function changeChart(ele){
var value = chartSelect.options[chartSelect.selectedIndex].value;
if (value==="Pie"){
var dataType = dataSelect.options[dataSelect.selectedIndex].value;
if (dataType === "House"){
alert("This is pie chart(HOUSE)");
}
if (dataType === "Toilet"){
alert("This is pie Chart(TOILET)");
}
}
if(value=="Line"){
var dataType = dataSelect.options[dataSelect.selectedIndex].value;
if(dataType == "House"){
alert("This is line chart(HOUSE)");
}
if (dataType == "Toilet"){
alert("This is line chart(TOILET)");
}
}
};
function changeChart() {
var value = chartSelect.options[chartSelect.selectedIndex].value;
if (value == "Pie") {
var dataType = dataSelect.options[dataSelect.selectedIndex].value;
if (dataType == "House") {
alert("aakarshan")
}
if (dataType == "Toilet") {
alert("DHAKAL")
}
}
if (value == "Line") {
var dataType = dataSelect.options[dataSelect.selectedIndex].value;
if (dataType == "House") {
alert("BIVAV")
}
if (dataType == "Toilet") {
alert("SATYAL")
}
}
}