Jquery 1.4.2 .attr检查不更改元素

时间:2016-08-18 02:32:26

标签: javascript jquery html

我有一个名为#inf_option_isGmail的隐藏元素,它是一个复选框。 我在页面上有一些代码,用于检查字段中是否包含gmail地址,因此我可以执行一些特殊操作来处理其促销选项卡。

我试图通过此question或此question解决此问题,但我不能。

这是我的代码:

jQuery( "#inf_field_Email" )
  .keyup(function() {
    var str = jQuery( this ).val();
    if (str.toLowerCase().indexOf("gmail") >= 0) {
        jQuery('#inf_option_isGmail').prop('checked', true);
    }
  })
  .keyup();
[]

问题是我无法让它实际检查框:(

<div style="display:none;">      
      <input id="inf_option_IsGmail" name="inf_option_isGmail" type="checkbox" value="2172">         
    </div>

这一切都在页面上:http://ww2.auspiciousartsincubator.org/artist-grant-crossroads/d.html?inf_custom_ReferralQScr=blah

为什么这不起作用的任何想法?

我试过了

jQuery('#inf_option_isGmail').click();
jQuery('#inf_option_isGmail').attr('checked',true);
jQuery('#inf_option_isGmail').each(function(){ this.checked = true; });

2 个答案:

答案 0 :(得分:1)

您的选择器出错了 - 它应该大写IsGmail

更改

jQuery('#inf_option_isGmail').attr('checked',true);

jQuery('#inf_option_IsGmail').attr('checked',true);

答案 1 :(得分:0)

您的html ID为inf_option_IsGmail,您的jQuery选择器为inf_option_isGmail

jQuery中的isGmail必须是IsGmail:)