【发布时间】:2016-10-12 08:40:51
【问题描述】:
我已经绑定了中继器,我想在选中特定复选框时获取标签的值:
$(function() {
$('.toggleCheck').change(function() {
console.log('Toggle: ' + $(this).prop('checked'))
RepeaterData();
})
})
function RepeaterData() {
var size = $('.nameLabel').length;
console.log('size' + size);
for (i = 0; i < size; i++) {
var name = $('.nameLabel').eq(i).text();
var id = $('.IdLabel').eq(i).text();
//var result = document.getElementById('result');
alert(name);
// result.innerText += name + " \t " + id + "\n";
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<asp:Repeater ID="rptCust" runat="server">
<HeaderTemplate>
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover table-highlight" data-provide="datatable" data-display-rows="10" data-info="true" data-search="true" data-length-change="true" data-paginate="true">
<thead>
<tr>
<th data-filterable="true">No</th>
<th>name</th>
<th>Action</th>
</tr>
</thead>
<tbody>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="lblId" CssClass="IdLabel" runat="server" Text='<%#Eval("id")%>' Style="display: none"></asp:Label>
<asp:Label ID="lblno" CssClass="nameLabel" runat="server" Text='<%#Eval("no")%>'></asp:Label>
</td>
<td>
<asp:Label ID="lblname" runat="server" Text='<%#Eval("name")%>'></asp:Label>
</td>
<td>
<input id="Checkbox1" commandname="Edit" data-toggle="toggle" type="checkbox" checked='<%# (Eval("status")).ToString() == "1" ? true : false %>' runat="server" class="toggleCheck">
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</tbody>
</table>
</div>
</FooterTemplate>
</asp:Repeater>
上面的代码我已经写好了。
现在,当我单击复选框时,我需要使用 javascript 获取该复选框的 ID。
我试图获取该值,但它为我提供了所有值,而不是复选框选中/未选中的特定 id。
当我选中/取消选中复选框时,如何获取特定 id 的值?
【问题讨论】:
-
你能把你的ASP代码改成HTML吗?因为你的问题不需要它。 --- 此外,您可以删除 ASP.net、c# 和 .net 标记。
-
这是一个 asp.net 代码。
和 -
肯定没关系吧? ...因为您的问题与输出 HTML 和 JS 有关,而不是 c#/asp.net。
-
这很重要,因为我想从转发器中获取标签的值。
-
你可以试试
$(this).parent().find('.nameLabel').text()。想法是使用this(当前元素)导航到必要的元素。
标签: javascript c# jquery asp.net .net