このメッセージを取得:
Error: cannot call methods on checkboxradio prior to initialization;
attempted to call method 'refresh'
私はここにあるデモに従いました: Ugly Mongrel
これが私のJSの抜粋です:
function(){
var $pbNum = $('<input checked="checked" id="component-pbnum-'+ _val+
'" name="component-pbnum[]'+
'" type="checkbox" value="'+ _val+ '" data-mini="true">'+
'<label for="component-pbnum-'+ _val+ '">'+ _val+ '</label>'),
$pbNumChk = $($pbNum[0]).on("change", function(ev){
$pbNum.remove();
// UNCAUGHT EXCEPTION: "cannot call methods on checkboxradio prior
// to initialization; attempted to call method 'refresh'"
});
$pbnumList.controlgroup("container").append($pbNum);
$pbNumChk.checkboxradio();
// Have also tried $pbNumChk.checkboxradio().checkboxradio("refresh")
// as hinted by other answers. No difference.
}
チェックボックスラジオ (この場合はチェックボックス) を動的に追加する必要がありますが、クリック/タップしたときにそれらを削除する機能を提供します。
jQM が jQUI と比較していかに限定的であるように見えるかは、実際にはちょっといらだたしいことです。これらのウィジェットの (文書化された) 「破棄」方法はありませんか? ともかく...
チェックボックスは、私の ControlGroup に問題なく追加されます。フルブラウザでそれらをクリックして削除すると、それらは削除されますが、例外がスローされます。これまでに見つけたものはすべて、これに似たもので答えています: https://stackoverflow.com/a/15180600/258598
これが私が探したものです:http://goo.gl/mVOdo
理解できません。ウィジェットを削除しているときに JS がウィジェットに関するエラーをスローするのはなぜですか?特に、挿入時に初期化されていた場合はどうですか?
[編集]
$pbNum HTML 文字列の小さなタイプミスを修正