0

所以这是我的代码。我正在尝试设置隐藏表单输入的值。

if($gender == "BOY" || $gender == "MALE" || $gender == "M" || $gender == "1") {
        console.log('Its a boy!');
        $(".girlsonly").hide();
        document.getElementsByName('dressjacket')[0].placeholder='Jacket';
        $('#majorgender').val('1');
    };
    if($gender == "GIRL" || $gender == "FEMALE" || $gender == "F" || $gender == "0") {
        console.log('Its a girl!');
        document.getElementsByName('dressjacket')[0].placeholder='Dress';
        $('#majorgender').val('0');
    };

这是表单输入:

<input type="hidden" name="majorgender" id="majorgender"></input>

它成功记录了“它是一个女孩!” 或“它是一个男孩!” 但之后当我插入“ alert($('majorgender').val());”时,它会提示“未定义

如果我alert($('majorgender'))用“object Object”记录它,所以我知道它存在,我只是不知道为什么它没有正确设置。

有什么想法吗?

4

3 回答 3

7

你需要一个#in -alert($('#majorgender').val());否则它正在寻找一个名为 majorgender 的标签,而不是一个 ID

IE。您目前正在寻找<majorgender...

于 2013-04-18T18:17:13.180 回答
2

你正在majorgender像这样提醒输入$('majorgender').val() 当你真的需要这样提醒它$('#majorgender').val()

因为您通过 id 选择此输入,所以您必须在选择器名称之前加上一个哈希#

并注意 jquery 定义了每个选择器,即使它作为对象无效,所以如果您的日志显示一个意味着您的选择器正确且存在的对象,则没有必要:)

试着告诉我这是否有帮助:)

于 2013-04-18T18:18:30.563 回答
1

你错过了#改为

alert($('majorgender').val());

alert($('#majorgender').val());
于 2013-04-18T18:18:05.373 回答