提问人:Filippo Canino 提问时间:3/29/2022 最后编辑:Filippo Canino 更新时间:3/29/2022 访问量:77
在jquery中进行数学运算
Making math operation in jquery
问:
我是jQuery的新手,我不明白如何完成我的代码
我有 2 个输入类型编号,id=TA1 和 id=TA2。我有一个选择选项可以在“+”、“-”、“/”和“*”之间进行选择,这是 id=op。 现在,在我的jquery函数中,我应该写什么才能让它工作?我知道在 js 中有 eval(),但我不知道如何在 jquery 中做到这一点......
var Calcolatrice = function (args) {
this.args = args;
};
Calcolatrice.prototype.calc = function (x, y, z) {
var x = $("#TA1").val(value);
var y = $("#TA2").val(value);
var z = $("#op").val(value);
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
/* display: none; <- Crashes Chrome on hover */
-webkit-appearance: none;
margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}
.black {
background-color: black;
}
<body class="black">
<div class="flex flex-row justify-evenly py-32">
<div class="flex flex-col">
<input type="number" id="TA1">
</div>
<div class="flex flex-col">
<select id="op">
<option label="+">+</option>
<option label="-">-</option>
<option label="/">/</option>
<option label="*">*</option>
</select>
</div>
<div class="flex flex-col">
<input type="number" id="TA2">
</div>
</div>
<div class="flex flex-row justify-center">
<div class="flex fllex-col">
<textarea name="risultato" id="risultato" cols="30" rows="1">
</textarea>
</div>
</div>
</body>
由于我使用了 Tailwind 和 Flexbox,因此此代码段不会显示最终结果,但我没有将它们放入代码段代码中
答:
0赞
mmh4all
3/29/2022
#1
你可以像这样做
$("input").on('input',() => {
var x = $("#TA1").val();
var y = $("#TA2").val();
var z = $("#op").val();
if(x && y && z){
$("#risultato").val(eval(`${x}${z}${y}`));
}
});
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
/* display: none; <- Crashes Chrome on hover */
-webkit-appearance: none;
margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}
.black {
background-color: black;
}
<div class="flex flex-row justify-evenly py-32">
<div class="flex flex-col">
<input type="number" id="TA1">
</div>
<div class="flex flex-col">
<select id="op">
<option label="+">+</option>
<option label="-">-</option>
<option label="/">/</option>
<option label="*">*</option>
</select>
</div>
<div class="flex flex-col">
<input type="number" id="TA2">
</div>
</div>
<div class="flex flex-row justify-center">
<div class="flex fllex-col">
<textarea name="risultato" id="risultato" cols="30" rows="1">
</textarea>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
评论
0赞
Filippo Canino
3/29/2022
谢谢伙计,非常感谢,你让我的一天<3 <3 <3
0赞
Filippo Canino
3/29/2022
可悲的是,我不能点赞,我没有 15 个声誉。只是一个简单的问题,我们必须在这里放置脚本吗?我必须删除我已经写的小脚本吗?我必须将其粘贴到原型中吗?
0赞
mmh4all
3/30/2022
是的,只需替换您的脚本即可
评论
$("#risultato").val();