【问题标题】:How to get value of selected label from repeater using javascript如何使用javascript从转发器获取选定标签的值
【发布时间】: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


【解决方案1】:

你可以这样做......

 $('.toggleCheck').click(function(){
    console.log($(this).attr('id'));
 })

或者如果您想确定是否已检查...

 $('.toggleCheck').click(function(){
    if($(this).is(':checked')){
      console.log($(this).attr('id'));
    }
 })

【讨论】:

    【解决方案2】:

    我已经解决了。下面是代码。

    我添加了var id = $(this).closest('tr').find('td:first-child').text(); 通过上面的行,我可以在选中/未选中的复选框上获得特定的 id

       $(function() {
          $('.toggleCheck').change(function() {
            console.log('Toggle: ' + $(this).prop('checked'))
            var id = $(this).closest('tr').find('td:first-child').text();
    
          })
        })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-20
      • 2016-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-13
      • 1970-01-01
      相关资源
      最近更新 更多