Javascript jQuery-el.val(!e.val())返回false

Javascript jQuery-el.val(!e.val())返回false,javascript,jquery,Javascript,Jquery,我有一个表单元素,我想在单击事件时将其值在1和0之间切换 我知道我可以存储这个值并测试它,以确定字段的新值 我的问题是,为什么下面的方法不起作用 $('#myEl').val(!$('#myEl').val()); 因为#myEl有一个值,通过执行$('#myEl').val(!$('#myEl').val())您正在将#myEl设置为false。因为#myEl有一个值,通过执行$('#myEl').val(!$('#myEl').val())您正在将#myEl设置为false。val()返回

我有一个表单元素,我想在单击事件时将其值在1和0之间切换

我知道我可以存储这个值并测试它,以确定字段的新值

我的问题是,为什么下面的方法不起作用

$('#myEl').val(!$('#myEl').val());
因为#myEl有一个值,通过执行
$('#myEl').val(!$('#myEl').val())
您正在将#myEl设置为false。

因为#myEl有一个值,通过执行
$('#myEl').val(!$('#myEl').val())
您正在将#myEl设置为false。

val()
返回一个字符串,并且
返回一个布尔值,该值转换为字符串(由
val(…)
)后变为“false”

而是使用一元
+
两次,将字符串转换为数字,将布尔值转换为数字:

$(“#切换”)。单击(函数(){
$('myEl').val(+!+$('myEl').val());
});

切换
val()
返回一个字符串,然后
返回一个布尔值,该值转换为字符串(由
val(…)
)后变为“false”

而是使用一元
+
两次,将字符串转换为数字,将布尔值转换为数字:

$(“#切换”)。单击(函数(){
$('myEl').val(+!+$('myEl').val());
});


切换
您可以发布其余的代码吗?您可以发布其余的代码吗?