2016-06-09 6 views
0

Ich habe eine RadioButtonList Kontrolle, die wie folgt erklärt:jQuery - ASP .NET Steuerelement Radiobuttonlist ‚Change‘ Ereignis ausgelöst nie

 <asp:RadioButtonList ID="rbtnlistUnits" runat="server" 
      RepeatDirection="Horizontal" RepeatLayout="Table"> 
      <asp:ListItem Text="Metres" Value="M"></asp:ListItem> 
      <asp:ListItem Text="Feet" Value="Ft"></asp:ListItem> 
     </asp:RadioButtonList> 

Ich möchte, dass die Auswahl der Funktionen auf dem Bildschirm beeinflussen lassen zu können, aber das Ereignis change löst nicht mit der Auswahl einer der beiden Schaltflächen aus.

Ich ursprünglich nicht das input Tag in der jQuery-Auswahl enthalten, und lesen Sie online gerade jetzt, dass dies möglicherweise das Problem gewesen sein. Es wurde hinzugefügt, aber nicht geändert. Ich bin nicht sehr vertraut mit jQuery in ASP. NET, also ich frage mich, ob die Sprache ListItem Steuerelement ist ein Alias ​​für etwas etwas anderes als input.

 $('#cSearch #rbtnlistUnits input').change(function() { 
      console.info("changed"); //doesn't appear in console 
     }); 

Wenn dies nicht der Fall ist, kann irgendjemand etwas anderes finden, das möglicherweise fehlt?

Danke, Mark

+0

_ "Ich frage mich, ob die ListItem Kontrolle der Sprache ein Alias ​​für etwas etwas anders Eingang" _ - Sie leicht überprüfen können Sehen Sie sich den HTML-Code an, der an Ihren Browser gesendet wird (Quelltext anzeigen). Überprüfen Sie außerdem, ob die ID des gerenderten Elements tatsächlich "rbtnlistUnits" ist. – Turnip

+0

Hallo, wenn ich mir das gerenderte HTML anschaue, bekomme ich folgendes: marcuthh

+0

set AutoPostBack = true in der Steuerung und hofft, dass dies funktioniert – Pramod

Antwort

4

versuchen diese

<asp:RadioButtonList ClientIDMode="Static" ID="rbtnlistUnits" runat="server" 
       RepeatDirection="Horizontal" RepeatLayout="Table"> 
       <asp:ListItem Text="Metres" Value="M"></asp:ListItem> 
       <asp:ListItem Text="Feet" Value="Ft"></asp:ListItem> 
      </asp:RadioButtonList> 
    <script> 
    $(function() { 
     $('#rbtnlistUnits').change(function() { 
     console.info("changed"); 
     }); 
     }); 
</script> 

+1

Das wird nicht funktionieren. rbtnListUnits ist ein Serversteuerelement und ASP ändert die ID beim Rendern der Seite. Sie sollten bestehende Antworten vor dem Posten lesen. –

+1

ich habe gerade vergessen hinzuzufügen ClientIDMode = Static –

+1

Es ist eine gute Antwort jetzt. –

Verwandte Themen