2014-05-10 178 views
-2

我不認爲$(document).ready();中的代碼正在執行;這些元素都沒有出現。我之前已經聲明瞭按鈕和文本,並且知道它可以在之前的測試中使用。 我想我有點想法 - $(document).ready();在pageload上執行,而不是在main();之後執行。但是,我不明白爲什麼提交點擊處理程序中的代碼無法執行並顯示必要的元素。爲什麼不執行此jQuery代碼?

編輯:控制檯輸出說,number變量未定義。

question是一堆JSON,也稱爲工作的...

function randomIntFromInterval(min,max) 
{ 
    return Math.floor(Math.random()*(max-min+1)+min); 
} 
function main() 
{ 
var number = randomIntFromInterval(1,4); 
$("#main").html('<br>' + questions[number]["Question"] + '<br>' + '<form action="" id="questionblock">' + '<input type="radio" name="choice" value="Choice1">' + questions[number]["Choice1"] + '<br>' + '<input type="radio" name="choice" value="Choice2">' + questions[number]["Choice2"] + '<br>' + '<input type="radio" name="choice" value="Choice3">' + questions[number]["Choice3"] + '<br>' + '<input type="radio" name="choice" value="Choice4">' + questions[number]["Choice4"] + '<br>' + '</form>'); 
} 
main(); 
$(document).ready(function(){ 
    $("#reset").hide(); 
    $("#submit").click(function(){ 
    var uc = $('input[name=choice]:checked', '#questionblock').val(); 
    var cc = questions[number]["Correct"]; 
    if (uc == "undefined") { 
     document.write("Please choose an answer"); 
    } else { 
     if (uc == cc) { 
     $("#correct").html("Correct!"); 
     $("#reset").show(); 
     } else { 
     $("#correct").html("incorrect"); 
     $("#reset").show(); 
     }; 
    }; 
    }); 
}); 
+0

因爲問題沒有定義 –

+3

你的javascript控制檯告訴你什麼? –

+0

@AbdennourToumi由於缺乏故障排除工作/完整性,請參閱編輯 – evamvid

回答

2

設置你的號碼作爲一個全局變量,然後分配給全球多個變種在主

<script> 
var number; 

function randomIntFromInterval(min,max) 
{ 
    return Math.floor(Math.random()*(max-min+1)+min); 
} 
function main() 
{ 
number = randomIntFromInterval(1,4); 
$("#main").html('<br>' + questions[number]["Question"] + '<br>' + '<form action="" id="questionblock">' + '<input type="radio" name="choice" value="Choice1">' + questions[number]["Choice1"] + '<br>' + '<input type="radio" name="choice" value="Choice2">' + questions[number]["Choice2"] + '<br>' + '<input type="radio" name="choice" value="Choice3">' + questions[number]["Choice3"] + '<br>' + '<input type="radio" name="choice" value="Choice4">' + questions[number]["Choice4"] + '<br>' + '</form>'); 
} 
main(); 
$(document).ready(function(){ 
    $("#reset").hide(); 
    $("#submit").click(function(){ 
    var uc = $('input[name=choice]:checked', '#questionblock').val(); 
    var cc = questions[number]["Correct"]; 
    if (uc == "undefined") { 
     document.write("Please choose an answer"); 
    } else { 
     if (uc == cc) { 
     $("#correct").html("Correct!"); 
     $("#reset").show(); 
     } else { 
     $("#correct").html("incorrect"); 
     $("#reset").show(); 
     }; 
    }; 
    }); 
});