2012-03-08 24 views
0

jQuery 1.6.0の使用に関するこの奇妙な問題が発生しました。私は、ユーザーがテキストボックスに3つ以上の文字を入力した場合、divにいくつかのコンテンツを追加しようとしています。nullのメソッド 'append'を呼び出すことができません

は、ここに私のJS

$('#Form_pickForm_Name').keyup(function() { 
    var searched = $('Form_pickForm_Name').value; 
    if (searched.length > 2) { 
    // Add the name_suggestions if doesn't exit 
    if ($("name_suggestions").length < 1){ 
     $('#Name').append("<div id='name_suggestions'>Foo!</div>"); 
    } 
    } 
}); 

であり、これは私がページをチェックして、関連するHTML

<div id="Name" class="field text "> 
    <label class="left" for="Form_pickForm_Name">Your Full Name</label> 
    <div class="middleColumn"> 
     <input type="text" class="text" id="Form_pickForm_Name" name="Name" value="" /> 
    </div> 
</div> 

あり、そして他のid = "名前" は、その上には存在しません。

私はalert($('#Name'));ですが、もし私がalert($('Name'))を取得した場合、私は[オブジェクトHTMLDivElement]を取得しますが、私はまだ追加させません。 jQueryの1.6.0私はappendToを使用してに切り替えている

+0

いくつか「#」が欠落しています。 – benck

答えて

1

があります:

$('#Form_pickForm_Name').keyup(function() { 
    var searched = $('#Form_pickForm_Name').val(); 
    if (searched.length > 2) { 
    // Add the name_suggestions if doesn't exit 
    if ($("#name_suggestions").length < 1){ 
    $('#Name').append("<div id='name_suggestions'>Foo!</div>"); 
    } 
    } 
}); 
+0

ありがとうございました。#が問題でしたが、キーは私がテストに使っていたのでval()でした。値はnullなのでセレクタだと思っていました! – Wizzard

1

を使用

、私はあなたが要素を作成するために$オブジェクトが必要だと思います。

また、いくつかの構文エラー(2 IDのオフ欠けているハッシュ)が代わりに値valを()メソッドを使用してください...(#なしのセレクタ)は、この方法を試してみてください、あなたは構文エラーを持っている

$('#Form_pickForm_Name').keyup(function() { 
    var searched = $('#Form_pickForm_Name').value; 
    if (searched.length > 2) { 
    // Add the name_suggestions if doesn't exit 
    if ($("#name_suggestions").length < 1){ 
     $("<div id='name_suggestions'>Foo!</div>").appendTo("#Name"); 

    } 
    } 
}); 
関連する問題