我创建了一个带有工作函数数组的基本应用程序,该数组应该接受用户的输入,并返回一个数组,其输入作为数组中的最后一个数字 - 在此过程中用字符串替换某些整数。
当我console.log
喜欢rangeOfNumbers((0,13));
它时,它会显示一切正常。但是,我尝试使用谷歌搜索所有内容,查看 MDN,并坐在我的电脑前几个小时试图弄清楚如何将我的功能实现到 UI 中,以便在用户点击提交时打印,但我就是不知道该怎么做下一步做什么或我做错了什么。
控制台记录它有效,但我不明白为什么用户的输入没有被函数自动推送到数组的末尾。如果有人可以帮助这个初学者,将不胜感激。谢谢!
这是我正在努力处理的脚本文件中的代码块:
function rangeOfNumbers(start, numberInput) {
let rangeArray = [];
for (let i = start; i <= numberInput; i++) {
rangeArray.push(i + "");
}
return rangeArray.map(x => x.includes("3") ? "Won't you be my neighbor?" : x.includes("2") ? "Boop" : x.includes("1") ? "Beep" : x);
}
// This is where I am having issues. Html matches up so I know it isn't that.
$(document).ready(function() {
const numberInput = $("#numberInput").val();
$("#formRobo").submit(function(event) {
event.preventDefault();
$("#result").rangeOfNumbers(0, numberInput);
});
})
您的代码中有两个问题。
首先,rangeOfNumbers()
不是 jQuery 函数。您已经自己定义了它,因此您需要独立于 jQuery 调用它并将结果设置为在#result
元素中显示。假设这是一个div
use text()
,或者如果它是一个表单控件 use val()
。
第二个问题是您只读取#numberInput
页面加载时的值,因此它始终是默认值。阅读用户提交您需要移动该行的表格前,输入的数值范围内的submit
事件处理程序。
试试这个:
function rangeOfNumbers(start, numberInput) {
console.log(numberInput);
let rangeArray = [];
for (let i = start; i <= numberInput; i++) {
rangeArray.push(i + "");
}
return rangeArray.map(x => x.includes("3") ? "Won't you be my neighbor?" : x.includes("2") ? "Boop" : x.includes("1") ? "Beep" : x);
}
// This is where I am having issues. Html matches up so I know it isn't that.
$(document).ready(function() {
$("#formRobo").submit(function(event) {
event.preventDefault();
const numberInput = $("#numberInput").val();
$("#result").text(rangeOfNumbers(0, numberInput));
});
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="formRobo">
<input type="text" id="numberInput" />
<button type="submit">Submit</button>
</form>
<div id="result"></div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句