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> 

しかし、ページをロードすると、すぐにエラーが発生します。

$( "#ppsub_ppterm_id")はnullです

17行目

何か案は?

4

5 に答える 5

41

JQueryが正しく読み込まれていないようです。どのソース/バージョンを使用していますか?

または、名前空間の衝突である可能性があるため、jQueryの代わりに明示的に使用してみてください$。それが機能する場合は、noConflictを使用して、使用している他のコードが$壊れないようにすることができます。

于 2009-04-22T12:55:11.913 に答える
6

たとえば、jQueryによるchane'$':

$( "#myId")-> jQuery( "#myId")

できます

于 2009-10-12T23:08:34.490 に答える
3

jQueryが要素を見つけられなかったとしても、それはnullではなく、空のjQueryオブジェクトになります。

jQueryがロードされていますか?使用している別のJavaScriptライブラリが競合を引き起こしている可能性はありますか?

于 2009-04-22T12:54:17.547 に答える
2

クラス、名前、IDなどとして「ppsub_ppterm_id」があります。

1つを選択して選択する必要があります。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]")

方法を選んでそれを実行しますが、それらの冗長な属性をすべて削除します。

于 2009-04-22T13:16:59.427 に答える
0

ドキュメントがロードされた後、jQueryコードを実行していることを確認してください。

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

また、HTMLページにIDが「ppsub_ppterm_id」のコントロールが他にないことを確認してください。

これらは私が最初にチェックするものです。

于 2009-04-22T12:53:18.920 に答える