【问题标题】:Problems passing select option values to function将选择选项值传递给函数的问题
【发布时间】:2013-04-21 13:45:17
【问题描述】:

我已创建2个选择框,并希望在占用每个选择框时显示相应的div,因此在选择年龄时,请完成检查以确保在运行验证功能之前选择了性别,并且年龄值。然而,我的问题是,当女性通过时,它似乎被解读为男性,但我不明白为什么。谁能告诉我如何解决这个问题?

小提琴: http://jsfiddle.net/Nyh89/2/

JS

var genderList = $('#gender'),
    ageList = $('#age'),
    gender,
    age;

genderList.on('change', function () {
    gender = $(this).find(":selected").data('gender');

    if (ageList.val()) {
        console.log(gender);
        validate(age, gender);
    }

});

ageList.on('change', function () {
    age = $(this).find(":selected").data('year');

    if (genderList.val()) {
        console.log(gender);
        validate(age, gender);
    }
});


function validate(age, gender) {

    var gen = gender;

    if (age <= 1996) {
        $('.' + gen + '-under-twelve').show();
    } else if (age >= 1997 && age <= 2002) {
        $('.' + gen + '-mid').show();
    } else {
        $('.' + gen + '-over-sixteen').show();
    }
}

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    您的代码在您提供的小提琴中正常工作。

    但是,我认为您的 HTML 中有错误:

    <div class="female-under-twelve">Show male under 12 info</div>
    

    您的 div 具有“女性”类,但文本显示“男性”。也许这就是您将其视为错误的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-08
      • 1970-01-01
      • 2021-09-24
      • 1970-01-01
      • 2014-10-26
      • 2018-01-26
      • 1970-01-01
      相关资源
      最近更新 更多