2009-04-22 113 views
17

我有一個有月份的選擇框。

這裏是我的代碼:

$(function(){ 
         $("#ppsub_ppterm_id").change(function(){ 
             var term = this.options[this.selectedIndex].text; 
             if(term == "Eenmalig"){ 
               $(".idealtd").show(); 
             }else{ 
               $(".idealtd").hide(); 
               //$("#ppsub_amount option:selected").val('anders'); 
             } 
         }); 
     }); 
<select name="ppsub_ppterm_id" class="ppsub_ppterm_id" 
id="ppsub_ppterm_id" style="width: 100px; font-size: 11px;"> 
               <option value="M">Maand</option> 
               <option value="K">Kwartaal</option> 
               <option value="H">Halfjaar</option> 
               <option value="J">Jaar</option> 
               <option selected value="E">Eenmalig</option> 
             </select> 

但是,當我載入我的網頁我staight客場得到一個錯誤:

$( 「#ppsub_ppterm_id」)爲空

線17

任何想法?

回答

36

聽起來像JQuery沒有正確加載。您使用哪個來源/版本?

或者,它可能是名稱空間衝突,所以請嘗試明確地使用jQuery而不是$。如果可行,您可能希望使用noConflict以確保使用$的其他代碼不會中斷。

+0

sanders 2009-04-22 12:56:44

0

確保您的文檔加載後運行jQuery代碼:

$(document).ready(function() { /* put your stuff here */ }); 

另外,還要確保你沒有其他控制,你的HTML頁面上的ID「ppsub_ppterm_id」。

這些是我會檢查的第一件事。

+4

$(函數()是捷徑$(document).ready(function() – 2009-04-22 12:54:41

+0

Oh,sweet - good to know。 – 2009-04-22 12:55:10

3

即使jQuery找不到元素,它也不會爲空 - 它將是一個空的jQuery對象。

你確定jQuery被加載?您正在使用的另一個JavaScript庫是否有可能導致衝突?

2

你有「ppsub_ppterm_id」爲一類,姓名,身份證等..

你需要選擇一個,然後選擇就可以了。不需要ID,NAME,CLASS都具有相同的值。

你可能會把jQuery搞混了。

<a id="ppsub_ppterm_id"> = $("#ppsub_ppterm_id") 

<a class="ppsub_ppterm_id"> = $(".ppsub_ppterm_id") 

<a name="ppsub_ppterm_id"> = $("*[name=ppsub_ppterm_id]") 

選擇一個方式去用它,而是採取了所有這些多餘的屬性。

5

CHANE '$' 的jQuery例如:

$( 「#身份識別碼」) - >的jQuery( 「#身份識別碼」)

它的工作原理