使用JavaScript或jQuery,如何检查选择框是否与原始值匹配?

stu*_*err 3 javascript jquery

只是想知道是否有任何方法可以检查选择框下拉列表的值是否与页面加载时的原始值匹配(当使用设置值时selected = "yes")?

我想我可以使用PHP将原始值创建为JavaScript变量并检查它们,但是有一些选择框,我试图让代码尽可能简洁!

Vot*_*ple 7

这根本不是太难.这将跟踪select页面上每个值的值:

$(document).ready(function() {
    $("select").each(function() {
        var originalValue = $(this).val();

        $(this).change(function() {
            if ($(this).val() != originalValue)
                $(this).addClass('value-has-changed-since-page-loaded');
            else
                $(this).removeClass('value-has-changed-since-page-loaded');
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

这将把一个新类value-has-changed-since-page-loaded(可能是你重命名的东西)应用于任何选择框,其值不同于加载页面时的值.

只要您有兴趣看到值已更改,就可以利用该类.

  • 如果用`$(this).toggleClass('val-has-changed',$(this).val()!= originalValue)替换`if`语句,你甚至可以缩短它. (5认同)