2016-08-18 39 views
0

我有一個名爲#inf_option_isGmail的隱藏元素,它是一個複選框。 我在頁面上有一些代碼,檢查它是否有一個字段中有一個Gmail地址,所以我可以做一些特殊的事情來處理他們的促銷標籤。Jquery 1.4.2 .attr選中不改變元素

我試圖從這questionquestion這個工作,但我不能。

這裏是我的代碼:

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; }); 
+0

這不像調試幫助那麼重要,但是如果你在你的keyup函數中拋出一個'console.log'或兩個'',它會觸發嗎?做正確的日誌是否有正確的值,取決於你放置它們的位置以及你嘗試和記錄的值。如果你記錄'jQuery(「#inf_option_isGmail」)'是一個擴展元素返回?這將是我在這種情況下傾向於做的第一件事。 – stratedge

+0

嘗試使用'attr'來代替,'prop'只能從jquery 1.6以上版本中加入 – kasperite

回答

1

您在選擇器中出現錯誤 - 應使用大寫IsGmail

變化

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

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

+0

不應該是''「'?我認爲重複屬性是一個xhtml4的事情.. – dandavis

+0

不確定關於xhtml4,但作品無論如何)) –

+0

感謝你,看不到森林樹...欣賞新鮮的眼睛:) –

0

你的HTML ID是inf_option_IsGmail和你的jQuery選擇是inf_option_isGmail

isGmail jQuery中必須IsGmail :)