質問

dynatree プラグインを初めて使用し、ノードを動的に追加しようとしています。私のコードは以下のとおりです。

function DrawTree() {
 var names = GetChildName();  
 var rootNode = $("#ProcessRoleTree").dynatree("getRoot");
 var childNode = rootNode.addChild({ title: names[0].Name });
}

実行時にエラーが表示される

Microsoft JScript ランタイム エラー:オブジェクトはこのプロパティまたはメソッドをサポートしていません

何かが足りないのですか?必要なライブラリが含まれていることを確認しました。

<script src="Jquery/jquery/jquery.js" type="text/javascript"></script>
<script src="Jquery/jquery/jquery-ui.custom.js" type="text/javascript"></script>
<script src="Jquery/jquery/jquery.cookie.js" type="text/javascript"></script>

<link href="Jquery/src/skin-vista/ui.dynatree.css" rel="stylesheet" type="text/css" />
<script src="Jquery/src/jquery.dynatree.js" type="text/javascript"></script>

前もって感謝します!

役に立ちましたか?

解決

これはあなたの問題ではないかもしれませんが、それはショットの価値があります。他のライブラリとjQueryを使用する場合は、競合するコードと競合することができます。jQueryはjQueryのショートカットとして$記号を使用します。Dynatreeライブラリは、それらの関数のドル記号も使用します。

ツリーを実装するときにこの問題に遭遇し、これが私がそれをどのように修正したかです。あなたが見ることができるように、私はすべての '$'と 'jquery'と置き換えました。

<script type="text/javascript">
jQuery.noConflict();

function DrawTree() {
    var names = GetChildName();
    jQuery("#ProcessRoleTree").dynatree();

    var rootNode = jQuery("#ProcessRoleTree").dynatree("getRoot");

    //Try adding a key
    var childNode = rootNode.addChild({ title: names[0].Name, key: "001" });
}
</script>
.

他のヒント

呼び出す前に、まずツリーを初期化する必要があります dynatree("getRoot"), 、例えば最も単純な例では

function DrawTree() {
  var names = GetChildName();
  $("#ProcessRoleTree").dynatree();
  var rootNode = $("#ProcessRoleTree").dynatree("getRoot");
  var childNode = rootNode.addChild({ title: names[0].Name });
 }

機能するはずです。代わりに、他の多くのオプションをツリー初期化ステップに渡すことができます。見る 文書.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top