我有一个ASP.Net TreeView控件,带有沿Child节点的Checkbox。我想在TreeView控件中获取已检查子节点的Text。我想使用jQuery / javascript获取已检查的子节点文本。大多数情况下,我在页面中使用了jQuery。
我曾使用过$(this).text()。但它不起作用。由于控件是ASP.Net TreeView控件而我正在使用jQuery。所以要么是jQuery,要么是javascript
答案 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")