2016-09-14 9 views
0

私のJSファイルには以下のコードがあります。Qunitのテストケースで 'checked'プロパティを読み取ることができません

initialize: function() { 

     if (!$("#Res").is(':checked')) 
     { 
      $("#Res").attr('checked', true); 
     } 
} 

私はQunit.jsとblanekt.jsを使用してテストケースを実行しようとしました。それは私に "nullのチェックされたプロパティを読み取ることができません"というエラーが表示されます 誰もがこの問題を解決するか、テストケースを書き直すのを助けてください。私はJquery 1.4.1.jsバージョンを使用しています。問題はJqueryのバージョンに関連していますか?あなたはnullを思い付く場合

$("#Res")

は、それがあなたのコントロールではないことを意味します

test("initialize test", 1, function() { 
    $('<input>').appendTo("body"); 
    $('<select>').appendTo("body"); 
    $('<input>', { type: "checkbox", checked: true, id: "Res"}).appendTo("body"); 
    var result = mydomain.initialize(); 
    equal(undefined, result, "passed"); 
    $('input, select').trigger("blur");  
    ok(true, "blur event called"); 
    $('input, select').trigger("change"); 
    ok(true, "change event called"); 
    $("input").remove(); 
    $("select").remove(); 
}); 

答えて

0

オプション1

ブラウザの開発ツールを使用して、次のコマンドを実行期待どおりに作成されます。

オプション2

オプション1に問題がない場合は、入力が作成される前に、あなたはinitialize関数を呼び出すことがあります。

どのような場合でも、ロードしたページのソースを表示して結果のHTMLを投稿していないため、お手伝いすることは困難です。

オプション3.

チェックボックスライブラリは、一般的にCSSを使用し、それらが初期化した後、実際のチェックボックスの入力を非表示にします。使用可能なイベントやプロパティがないかチェックして、状態を確認する必要があります。

関連する問題