我正在使用MVC-在我的一个视图中,我有一个按钮,我想在单击时切换值。这是视图中的按钮代码:
<div class="col-md-10">
<input type="button" value="Yes" class="btn btn-default" id="CanOrder" />
</div>
这是我的点击事件的JavaScript:
<script>
$('#CanOrder').click(function () {
if ($(this).val('Yes')) {
alert("button says Yes");
$(this).val('No');
}
else {
alert("button says No");
$(this).val('Yes');
}
});
</script>
一开始,这起作用...按钮显示"是",当我单击它时,我得到警报"按钮说是",然后更改为"否"。
但是,在那之后,每当我单击它时,它会立即将按钮上的文本更改为"是",然后我得到警报说"按钮说是",然后更改为"否"。
如果我尝试在没有警报的情况下运行页面,我什至不会看到它更改为"是" - 它的作用就像是第一次单击它,然后只有在我单击时才说"否"之后。
我在做什么错?
谢谢!
要检查CanOrder
的值,您需要更正您的语句:
<script>
$('#CanOrder').click(function () {
if ($(this).val() === "Yes") {
alert("button says Yes");
$(this).val('No');
}
else {
alert("button says No");
$(this).val('Yes');
}
});
</script>
您可以在此处了解有关val
方法的更多信息。