代码之家  ›  专栏  ›  技术社区  ›  Andy

MVC Javascript按钮值不正确

  •  1
  • Andy  · 技术社区  · 9 年前

    我正在使用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>
    

    在一开始,这是有效的…按钮显示“是”,当我点击它时,我会得到警报“按钮说是”,然后它变为“否”。

    但之后,每当我点击它时,它会立即将按钮上的文本更改为“是”,然后我会收到提示“按钮说是”,然后它会变回“否”。

    如果我试着在没有警报的情况下运行页面,我甚至看不到它会变回“是”-它的行为就像第一次点击它一样有效,之后每次我点击它,它都会说“不”。

    我做错了什么?

    非常感谢。

    1 回复  |  直到 9 年前
        1
  •  1
  •   user3378165    9 年前

    为了检查 CanOrder 您需要更正您的if语句:

    <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 方法 here .