MVC JavaScript按钮值不正确



我正在使用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方法的更多信息。

最新更新