获取树节点名称

时间:2010-07-20 16:15:18

标签: javascript jquery jquery-ui javascript-events

我有一个ASP.Net TreeView控件,带有沿Child节点的Checkbox。我想在TreeView控件中获取已检查子节点的Text。我想使用jQuery / javascript获取已检查的子节点文本。大多数情况下,我在页面中使用了jQuery。

我曾使用过$(this).text()。但它不起作用。由于控件是ASP.Net TreeView控件而我正在使用jQuery。所以要么是jQuery,要么是javascript

2 个答案:

答案 0 :(得分:1)

由于你没有发布你正在使用的样本,我创建了一个试图涵盖几种不同场景的例子。

<ul id="list">
  <li><input type='checkbox' id="check1" name="check1" value="hello" /> Checkbox #1</li>
  <li><input type='checkbox' id="check2" name="check2" /> Checkbox #2 <a href="#">hello</a></li>
  <li><input type='checkbox' id="check3" name="check3" /> Checkbox #3</li>
  <li><input type='checkbox' id="check4" name="check4"/> Checkbox #4</li>
</ul>

<button id="output"></button>

点击按钮...

$("#output").bind("click", function(){

  // can be any jQuery selector -- for this example we use #list 
  $("#list").find("input[type='checkbox']:checked").each(function(){
    var $t = $(this),           // current checkbox
        $p = $t.parent(),       // parent li - define more so w/ parent('li')
        text = $p.text(),       // text of li
        val = $t.val(),         // checkbox value
        id = $t.attr('id'),     // checkbox id
        name = $t.attr('name'), // checkbox name
        children = $p.children("a:first").text(); // select first child anchor element->get text

    // insert magical code here...

    // print to console for debug
    console.log($t, $p, text, val, id, name, children);

  });
});

答案 1 :(得分:0)

首先,您必须检查是否在树视图中使用适配器。如果使用适配器,则基本上必须在DOM中搜索生成具有名为ParentSelected或Selected的类的元素。这是微软使用的命名约定。

会是这样的:

$("li[class$='Selected']").children("a").val()

$("li[class$='Selected']").children("a").attr("text")