我有一个表单元素,我想在点击事件时在 1 和 0 之间切换值。
我知道我可以存储该值并对其进行测试,以确定该字段的新值。
我的问题是,为什么以下不起作用?
$('#myEl').val(!$('#myEl').val());
最佳答案
val()
返回一个字符串,!
返回一个 bool 值,该 bool 值转换为字符串(通过 val(...)
)变为“假”。
而是使用一元 +
两次将字符串转换为数字,将 bool 值转换为数字:
$("#toggle").click(function () {
$('#myEl').val(+!+$('#myEl').val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="myEl" value="1">
<button id="toggle">Toggle</button>
关于javascript - jQuery - el.val(!e.val()) 返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44598065/