2017-01-02 5 views
1

Ich habe eine Checkbox Template-Feld innerhalb eines Repeaters in C#Verwendung jquery find Repeater Checkbox Wert überprüft

binden der Repeater asp.net C#

<asp:Repeater ID="rpt_detail" runat="server"> 
    <ItemTemplate> 
     <table> 
      <tr> 
       <td style="width: 10%; padding-top: 10px;"> 
        <input type="checkbox" id="selectit" name="selectit" value='<%# Eval("mdID") %>' /> 
       </td> 
       <td> 
        <asp:Label ID="mdID" runat="server" Visible="false" Text='<%# Eval("mdID") %>'></asp:Label> 
       </td> 
       <td> 
        <asp:Label ID="lbl_xprice" runat="server" Text='<%# Eval("mdPrice") %>'></asp:Label> 
       </td> 
      </tr> 
     </table> 
    </ItemTemplate> 
</asp:Repeater> 

und JavaScipt

<script> 
    function aaaaa() { 
     var selectit = $('input[name="selectit"]').val(); 

     $.ajax({ 
      url: "ajaxservice/getinchar.aspx", 
      type: 'POST', 
      data: { selectw: selectit }, 
      success: function (result) { 
       $("#testview").html(result); 
      } 
     }); 
    } 
</script> 

Wie kann ich Checkbox Check-Wert bekommen?

+0

Sie meinen, Sie haben mehrere Kontrollkästchen und Sie möchten die überprüften senden? Werfen Sie einen Blick auf: http://stackoverflow.com/questions/9493531/send-multiple-checkbox-data-to-php-via-jquery-ajax –

+0

Wenn Sie für jedes Kontrollkästchen eindeutige IDs generieren, können Sie ihre Werte abrufen eine Schleife, wie Sie es für ein Kontrollkästchen in der 'aaaaa'-Funktion tun. –

Antwort

0

Sie können alle Kontrollkästchen im Repeater mit jQuery wiederholen.

<script type="text/javascript"> 
    function getCheckBoxValues() { 
     $('#myRepeater input[type="checkbox"]').each(function() { 
      if ($(this).prop('checked') == true) { 
       alert($(this).val()); 
      } 
     }); 
    } 
</script> 

Aber damit dies funktioniert, müssen Sie den Repeater mit einem <div> mit einer eindeutigen ID zu wickeln haben.

<div id="myRepeater"> 
    <asp:Repeater ID="rpt_detail" runat="server"></asp:Repeater> 
</div> 

wirklich nicht zu der Lösung verwendet, aber Sie bekommen die doppelte ID (selectit) in dem Kontrollkästchen in dem Repeater. Verwenden Sie besser das asp.net CheckBox Control.

Und Sie können die <table></table> außerhalb der Repeater besser einstellen.

<table id="myRepeater"> 
    <asp:Repeater ID="rpt_detail" runat="server"> 
     <ItemTemplate> 
      <tr> 
       <td> content... </td> 
      </tr> 
     </ItemTemplate> 
    </asp:Repeater> 
</table>