Javascript innerhtml在第二次函数调用未定义函数时不显示
首先,我想说我是一名学生,对前端开发非常陌生,对javascript不太熟悉,但我正在慢慢尝试通过编写一些非常基本的东西来学习 我在做什么 我正在尝试创建一个赔率比较计算器,它将显示选定比赛的最佳赔率。你可以 JavascriptJavascript innerhtml在第二次函数调用未定义函数时不显示,javascript,jquery,html,Javascript,Jquery,Html,首先,我想说我是一名学生,对前端开发非常陌生,对javascript不太熟悉,但我正在慢慢尝试通过编写一些非常基本的东西来学习 我在做什么 我正在尝试创建一个赔率比较计算器,它将显示选定比赛的最佳赔率。你可以 Javascript function createTeams() { var tour = document.getElementById('tournaments').value; if (tour == "six-nations") { var create =
function createTeams() {
var tour = document.getElementById('tournaments').value;
if (tour == "six-nations") {
var create = document.getElementById('teamsDiv').innerHTML = "<h3>Select Team</h3><select id='teams'><option value='Wales'>Wales</option><option value='England'>England</option><option value='Ireland'>Ireland</option><option value='Scotland'>Scotland</option> <option value='France'>France</option><option value='Italy'>Italy</option></select><input type='submit' value='Check Odds' onClick='checkOdds()' />"
}
}//function createteams
function checkOdds() {
var teams = document.getElementById('teams').value;
//set bookmaker values
var EngBestOdds = "<h3>Best Odds For England:</h3> Ladbrokes @ 3.00";
var WalesBestOdds = "<h3>Best Odds For Wales:</h3> BetVictor @ 4.33";
var IrelandBestOdds = "<h3>Best Odds For Ireland:</h3>Sportingbet @ 4.00";
var ScotlandBestOdds = "<h3>Best Odds For Scotland:</h3>Paddy Power @ 17.00 AND BetVictor @17.00"
var FranceBestOdds = "<h3>Best Odds For France:</h3>Sportingbet @ 6.50"
var ItalyBestOdds = "<h3>Best Odds For Italy:</h3>BetVictor @501.00"
//get teams
var selectedTeam = document.getElementById("teams").value
if (selectedTeam == "England") {
document.getElementById("dispOdds").innerHTML = EngBestOdds;
}
if (selectedTeam == "Wales") {
document.getElementById("dispOdds").innerHTML = WalesBestOdds;
}
if (selectedTeam == "Ireland") {
document.getElementById("dispOdds").innerHTML = IrelandBestOdds;
}
if (selectedTeam == "Scotland") {
document.getElementById("dispOdds").innerHTML = ScotlandBestOdds;
}
if (selectedTeam == "France") {
document.getElementById("dispOdds").innerHTML = FranceBestOdds;
}
if (selectedTeam == "Italy") {
document.getElementById("dispOdds").innerHTML = ItalyBestOdds;
}
} //function
函数createTeams(){
var tour=document.getElementById('tournaments').value;
国际单项体育联合会(巡回赛=“六国”){
var create=document.getElementById('teamsDiv').innerHTML=“选择TeamWalesEnglandIrelandScotland francetaly”
}
}//功能创建团队
函数校验比(){
var teams=document.getElementById('teams').value;
//设定收受赌注者的价值
var EngbestLobbits=“英格兰最佳赔率:立博@3.00”;
var walesbest赔率=“威尔士的最佳赔率:BetVictor@4.33”;
var irelandbest赔率=“爱尔兰的最佳赔率:Sportingbet@4.00”;
var scotlandbest赔率=“苏格兰的最佳赔率:Paddy Power@17.00和BetVictor@17.00”
var francebestods=“法国的最佳赔率:Sportingbet@6.50”
var italybest赔率=“意大利的最佳赔率:BetVictor@501.00”
//组队
var selectedTeam=document.getElementById(“团队”).value
if(selectedTeam==“英格兰”){
document.getElementById(“dispLobbs”).innerHTML=EngBestLobbs;
}
如果(已选择团队==“威尔士”){
document.getElementById(“dispLobbits”).innerHTML=WalesBestLobbits;
}
如果(选择团队==“爱尔兰”){
document.getElementById(“dispLobbits”).innerHTML=IRelandBestLobbits;
}
如果(选择团队==“苏格兰”){
document.getElementById(“dispLobbits”).innerHTML=ScotlandBestLobbits;
}
如果(选择团队==“法国”){
document.getElementById(“dispLobbs”).innerHTML=francebestods;
}
如果(选择团队==“意大利”){
document.getElementById(“dispLobbits”).innerHTML=ItalybestLobbits;
}
}//函数
HTML
<h3>Select Tournament</h3>
<select id="tournaments">
<option value="">-----</option>
<option value="six-nations">Six Nations</option>
</select>
<input type="submit" onclick="createTeams()" />
<div id="teamsDiv">
</div>
<div id="dispOdds">
</div>
选择比赛
-----
六国
我的问题
未定义的函数
createTeams()
任何帮助和建议都将不胜感激
createTeams
方法在全局范围内不可见,因为它包含在文档中。ready
事件处理程序中
您需要将fiddle中的JS设置从onload
更改为No wrap-in-head
为了改进代码,可以形成团队消息的对象(键值),如
var teamMessage = {
"England" : "Your odds are...";
}
document.getElementById("dispOdds").innerHTML = teamMessage[ team ];
然后根据团队选择,您可以简单地显示如下消息
var teamMessage = {
"England" : "Your odds are...";
}
document.getElementById("dispOdds").innerHTML = teamMessage[ team ];
将fiddle中的JS设置从
onload
更改为No wrap-in head
,这至少可以解决第一个问题您的JS代码在页面顶部吗?在?和代码审查这是正确的地方@gurvinder372非常感谢你解决了小提琴的问题,但是-我想改进这段代码,任何提示都会非常感谢它的工作良好。结果正如您在我的本地PC上测试时所提到的,谢谢您,如果我可以问的话,var teamMessage={“England”:“您的赔率是…”;}
我如何将其他团队添加到此对象中……非常感谢您much@TimothyCoetzeevar teamMessage={“英格兰”:“你的胜算是…”,“新西兰”:“你的胜算是…”
@TimothyCoetzee应该可以帮助您更好地理解JSON