我试图使用一个下拉列表,将其作为2个值是/否来更改是否显示字段。我仍然希望元素存在,只是不可见。

我正在使用Razor和MVC3渲染页面。

所以我尝试了以下代码:

$(function () {
    $("DiscountOn").change(function () {
        if ($("DiscountOn").Value == 0) {
            $("DiscountPercentage").fadeOut('fast');
        }
        else {
            $("DiscountPercentage").fadeIn('fast');
        }
    });
});


DiscountOn是一个下拉菜单,其值为0或1,分别输入no或yes。我希望它使DiscountOn变为0时DiscountPercentage消失,而DiscountOn变为1时重新出现。对于附加值,是否可以使其在页面加载后显示或消失,具体取决于下拉菜单中设置的选项。会很好。

最佳答案

$("DiscountOn")


没有正确选择元素。如果要选择的元素的ID,则需要执行以下任一操作:

document.getElementById("DiscountOn") // Pure JS


要么

$("#DiscountOn") // jQuery


另一个问题是您如何获得价值。您要么需要这样做

.value // Pure JS


要么

.val() // jQuery


请记住,JS区分大小写!

10-08 00:48