我有一个表单元素,我想在单击事件中切换1和0之间的值。jQuery - el.val(!e.val())返回false
我知道我可以存储此值并对其进行测试,以确定该字段的新值。
虽然我的问题是,为什么下面的工作没有?
$('#myEl').val(!$('#myEl').val());
我有一个表单元素,我想在单击事件中切换1和0之间的值。jQuery - el.val(!e.val())返回false
我知道我可以存储此值并对其进行测试,以确定该字段的新值。
虽然我的问题是,为什么下面的工作没有?
$('#myEl').val(!$('#myEl').val());
val()
返回一个字符串,!
返回一个布尔值,它被转换为字符串(由val(...)
)变成“false”。
相反转换的串号和布尔值数,使用一元+
两次:
$("#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>
因为#myEl有一个值,通过做$('#myEl').val(!$('#myEl').val());
您将#myEl设置为false。
你能张贴代码的休息吗? – BravoZulu