1

フィールドを表示するかどうかを変更するための 2 つの値 yes/no としてドロップダウンを使用しようとしています。私はまだ要素が存在することを望んでいます。

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になったときに再び表示されるようにしたいと考えています。素晴らしいでしょう。

4

3 に答える 3

3
$("DiscountOn")

要素を適切に選択しません。選択したい要素の ID の場合は、次のいずれかを行う必要があります。

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

また

$("#DiscountOn") // jQuery

もう 1 つの問題は、値を取得する方法です。あなたはこれを行う必要があります

.value // Pure JS

また

.val() // jQuery

JS では大文字と小文字が区別されることに注意してください。

于 2012-12-10T10:01:48.540 に答える
1
$(function () {
    $("#DiscountOn").change(function () {
        if ($(this).val() == '0') {
            $('#DiscountPercentage').fadeOut('fast');
        }
        else {
            $('#DiscountPercentage').fadeIn('fast');
        }
    });
});

また、付加価値については、ドロップダウンで設定されているオプションに応じて、ページが読み込まれたときに表示または非表示にすることができれば、優れています。

理想的には、これはサーバー側で実行し、JavaScriptを使用しないでください。ドロップダウンの選択された値はすでにわかっているので、DiscountPercentage要素の周りにCSSクラスを動的に追加して、表示/非表示にすることができます。

于 2012-12-10T10:01:18.550 に答える
0

問題はセレクターにあります

DiscountOnおよびDiscountPercentageがIDまたは要素の場合。#それらがクラスである場合は接頭辞を付け、次に.

$(function () {
    $("#DiscountOn").change(function () {
        if ($("#DiscountOn").val() === 0) {
            $("#DiscountPercentage").fadeOut('fast');
        }
        else {
            $("#DiscountPercentage").fadeIn('fast');
        }
    });
});
于 2012-12-10T10:00:38.150 に答える