如何通过单击按钮将值添加到列表?
How do I add a value to a list with button click?
我在使用 appendChild 函数时遇到问题...
这是我的代码
<!DOCTYPE html>
<html>
<body>
<form oninput="x.value=((parseFloat(winning_number.value)%(parseFloat(total_key_value.value)*100*2))/(parseFloat(total_key_value.value)*2)).toFixed(2)">
<input type="number" id="winning_number" value="" placeholder="Winning Number"> ~
<input type="number" id="total_key_value" value="" placeholder = "Total (Keys)">
= <output name="x" for="winning_number total_key_value"></output>%
</form>
<button type="submit" onclick="document.getElementById("container").appendChild(li);">Submit</button>
<ol id="list"></ol>
</body>
</html>
我输入 2 个数字,它会使用公式计算结果。
我如何制作一个按钮,单击后会将 x 值添加到列表中?
此外,如果可能的话,我希望能够从列表中删除项目
我对 javascript 很陌生,你可能会意识到
谢谢
我不确定你想在这里做什么,但快速浏览了一下,我发现你的 onclick 中有一个拼写错误。
onclick="document.getElementById("container").appendChild(li);"
您的撇号有问题。如果您使用的是 "",则内部的需要是 \" \" 或简单地输入 ' '
这可行:
onclick="document.getElementById('container').appendChild(li);"
试试这个代码 https://jsfiddle.net/bfmpkc7p/2/
<form oninput="x.value=((parseFloat(winning_number.value)%(parseFloat(total_key_value.value)*100*2))/(parseFloat(total_key_value.value)*2)).toFixed(2)">
<input type="number" id="winning_number" value="" placeholder="Winning Number"> ~
<input type="number" id="total_key_value" value="" placeholder = "Total (Keys)">
= <output id="outputvalue" name="x" for="winning_number total_key_value"></output>%
</form>
<button id="boton" type="submit">Submit</button>
<ol id="list"></ol>
和javascript
$('#boton').click( function() {
value = $("#outputvalue").html();
$('#list').append('<li>'+value+'</li>');
});
$(document).on('click', 'li', function () { $(this).remove(); });
当您单击按钮时,该函数会在 id = list 的 ol 中创建一个 li 标签,其中 id=outputvalue 的输出标签中的值
更新!!单击 li 元素并删除。
https://jsfiddle.net/bfmpkc7p/3/
如果您是 Javascript 的新手,那么您应该学习 jQuery。我们可以使用 jQuery.
更干净、更方便地完成此操作
$("input").change(function(e) {
var winning_number = $("#winning_number").val();
var total_key_value = $("#total_key_value").val();
var res = ((parseFloat(winning_number) % (parseFloat(total_key_value) * 100 * 2)) / (parseFloat(total_key_value) * 2)).toFixed(2);
$("#result").val(res);
});
$("#submit").click(function(e) {
var val = $("#result").val();
$("#list").append("<li>" + val + "</li>");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
</div>
<form id="calculation">
<input type="number" id="winning_number" value="" placeholder="Winning Number"> ~
<input type="number" id="total_key_value" value="" placeholder="Total (Keys)"> =
<input id="result"> %
</form>
<span id="text"></span>
<button id="submit">Submit</button>
<ol id="list"></ol>
我在使用 appendChild 函数时遇到问题...
这是我的代码
<!DOCTYPE html>
<html>
<body>
<form oninput="x.value=((parseFloat(winning_number.value)%(parseFloat(total_key_value.value)*100*2))/(parseFloat(total_key_value.value)*2)).toFixed(2)">
<input type="number" id="winning_number" value="" placeholder="Winning Number"> ~
<input type="number" id="total_key_value" value="" placeholder = "Total (Keys)">
= <output name="x" for="winning_number total_key_value"></output>%
</form>
<button type="submit" onclick="document.getElementById("container").appendChild(li);">Submit</button>
<ol id="list"></ol>
</body>
</html>
我输入 2 个数字,它会使用公式计算结果。
我如何制作一个按钮,单击后会将 x 值添加到列表中?
此外,如果可能的话,我希望能够从列表中删除项目
我对 javascript 很陌生,你可能会意识到
谢谢
我不确定你想在这里做什么,但快速浏览了一下,我发现你的 onclick 中有一个拼写错误。
onclick="document.getElementById("container").appendChild(li);"
您的撇号有问题。如果您使用的是 "",则内部的需要是 \" \" 或简单地输入 ' '
这可行:
onclick="document.getElementById('container').appendChild(li);"
试试这个代码 https://jsfiddle.net/bfmpkc7p/2/
<form oninput="x.value=((parseFloat(winning_number.value)%(parseFloat(total_key_value.value)*100*2))/(parseFloat(total_key_value.value)*2)).toFixed(2)">
<input type="number" id="winning_number" value="" placeholder="Winning Number"> ~
<input type="number" id="total_key_value" value="" placeholder = "Total (Keys)">
= <output id="outputvalue" name="x" for="winning_number total_key_value"></output>%
</form>
<button id="boton" type="submit">Submit</button>
<ol id="list"></ol>
和javascript
$('#boton').click( function() {
value = $("#outputvalue").html();
$('#list').append('<li>'+value+'</li>');
});
$(document).on('click', 'li', function () { $(this).remove(); });
当您单击按钮时,该函数会在 id = list 的 ol 中创建一个 li 标签,其中 id=outputvalue 的输出标签中的值
更新!!单击 li 元素并删除。 https://jsfiddle.net/bfmpkc7p/3/
如果您是 Javascript 的新手,那么您应该学习 jQuery。我们可以使用 jQuery.
更干净、更方便地完成此操作$("input").change(function(e) {
var winning_number = $("#winning_number").val();
var total_key_value = $("#total_key_value").val();
var res = ((parseFloat(winning_number) % (parseFloat(total_key_value) * 100 * 2)) / (parseFloat(total_key_value) * 2)).toFixed(2);
$("#result").val(res);
});
$("#submit").click(function(e) {
var val = $("#result").val();
$("#list").append("<li>" + val + "</li>");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
</div>
<form id="calculation">
<input type="number" id="winning_number" value="" placeholder="Winning Number"> ~
<input type="number" id="total_key_value" value="" placeholder="Total (Keys)"> =
<input id="result"> %
</form>
<span id="text"></span>
<button id="submit">Submit</button>
<ol id="list"></ol>