Javascript Jquery无法创建新输入
下面是我的Html文档,当输入范围发生变化时,JQuery不会做任何事情,非常感谢您的帮助,因为我对网页设计非常陌生。即使警报在顶部也不起作用,所以我不确定我的问题是什么。我的信念是,不知何故,脚本从未被调用,或者它是一个html文档的问题,但无论如何,谢谢你Javascript Jquery无法创建新输入,javascript,jquery,html,Javascript,Jquery,Html,下面是我的Html文档,当输入范围发生变化时,JQuery不会做任何事情,非常感谢您的帮助,因为我对网页设计非常陌生。即使警报在顶部也不起作用,所以我不确定我的问题是什么。我的信念是,不知何故,脚本从未被调用,或者它是一个html文档的问题,但无论如何,谢谢你 <!doctype html> <html> <head> <script src="https://ajax.googleapis.co
<!doctype html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
var num=0;
var numOptions = new Array(100);
window.onload = function() {
if (window.jQuery) {
// jQuery is loaded
alert("Yeah!");
} else {
// jQuery is not loaded
alert("Doesn't Work");
}
}
$(document).ready(function(){
$("#numQuestions").on('input',function(){
var numbQuestions = $("#numQuestions".text());
if(num>numbQuestions){
for(i=numbQuestions;i<=num;i++){
try{
$("#qRowNum'+i).remove();
}catch(err){
}
}
}else{
for ( i=num; i < numbQuestions; i++)
{
var row = '<div id="qRowNum'+ i '">
#the below function is not implemented in this version
<input type="text" placeholder="Question '+i'"> <input type="range" name="numOptions'+i'" min="0" max="5" placeholder="Number Of Options" onchange="CreateOptions(this);" onkeyup="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();> </div>';
$("#questionRows").append(row);
//New script test
}
}
num = numbQuestions;
});
});
<div id="questionRows">
</div>
<input type="submit" value="Start">
</form>
</body>
</html>
这就是你的问题:
var numbQuestions = $("#numQuestions".text());
首先,我认为你的意思是:
var numbQuestions = $("#numQuestions").text();
但事实并非如此,因为输入字段没有文本属性。它们有价值,所以要这样做:
var numbQuestions = $("#numQuestions").val();
这是另一个问题:$qRowNum'+i当你用双引号开始选择器时,你也需要用双引号结束它。但它仍然不是真正的jquery选择器
我认为您需要对jquery进行更多的研究。使用JSLint或以某种方式整理所有语法错误$numQuestions.on将永远不会触发该事件,因为该元素在执行时不存在。您永远不会关闭脚本标记。