0
var inputs = document.getElementsByTagName("li");
for(var i = 0; i < inputs.length; i++)
{
    if(inputs[i].id.indexOf(startsWith) == 0) {
        eles.push(inputs[i].id);
    }
}
for(var j=0; j < eles.length; j++) {
    document.getElementById(eles[j]).setAttribute("class","jstree-checked");                
}

liドキュメントのタグで特定のパターンで始まる ID を取り出しています。結果のID
のタグのクラスを変更しています。また、タグ全体 に存在するコンテンツを無効にする必要があります。 javascriptまたはjqueryを使用してこれを行うことは可能ですか?li
li

更新:各タグ
内にチェックボックスとテキスト メッセージがあります。 チェックボックスを無効にして(クリック不可)、テキストを無効として表示する必要があります。<li>

<li id="1_1" class="jstree-leaf jstree-no-icons jstree-last jstree-leaf jstree-unchecked" crawllocation="D:\company\deploy\AppServer\fusionEAR.ear" name="fusionEAR.ear">
<ins class="jstree-icon"> </ins>
<a class="" href="#" style="">
<ins class="jstree-checkbox"> </ins>
<ins class="jstree-icon "> </ins>
fusionEAR.ear
</a>
</li>

これらを試しました:

for(var j=0; j < eles.length; j++){
//jQV6('#jstreeDivforBrowse').jstree("check_node","#"+eles[j]);
document.getElementById(eles[j]).setAttribute("class","jstree-default jstree-checked");
//$.jstree._reference('#jstreeDivforBrowse').set_type("disabled", "#"+eles[j]); -- First try to disable
//eles[j].disabled = true;-- Second try to disable
//$("#"+eles[j]).attr('disabled', 'true');-- Third try to disable
//$("#"+eles[j]).addClass("jstree-leaf jstree-no-icons jstree-last jstree-leaf jstree-checked").find(":input").attr("disabled", "disabled");-- Fourth try to disable
        }

これらの試行のいずれでも、チェックボックスが無効になっていることがわかりませんでした。ただし、指定されたループ内のクラス名を変更することにより、必要な ID に対してチェック ボックスを選択するタスクは成功します。

4

2 に答える 2

2

タイプ プラグインを使用して、jstree のノードをカスタマイズできます。

 types: {
    "disabled": {
        "select_node": false,
        "open_node":   false,
        "close_node":  false,
        "create_node": false,
        "delete_node": false
    }
}

a を定義しTypeて という名前を付けたので、要素にasdisabled属性を追加して無効にしたことに注意してください。これは、属性を使用してjsTree が検索する方法です。reldisabled<li>typerel

Type宣言されているので、ループに追加するだけで、

document.getElementById(eles[j]).setAttribute("rel","disabled");

これがお役に立てば幸いです。

于 2013-01-23T05:16:37.173 に答える
-1

を使用 $("/* li element*/").attr("disabled", "disabled");して無効にします

またはそれ $("/* li element*/").hide(); を隠すために

あなたの場合

for(var j=0; j < eles.length; j++) {
$("#"+eles[j]).addClass("jstree-checked").find(":input").attr("disabled", "disabled");

}
于 2013-01-23T04:58:21.953 に答える