jQuery mit ASP.NET WebForms - Deaktivieren von Textfeldern

Noch eine jQuery noob Frage - was mache ich falsch?

Ich habe einige HTML-Markups, die von ASP.NET 3.5-Webforms gerendert wurden und folgendermaßen aussehen:

<input id="ctl01_cphContent_pnlBasicInfo_chkRC" 
       type="checkbox" name="ctl01$cphContent$pnlBasicInfo$chkRC" />
<label for="ctl01_cphContent_cntPromos_pnlBasicInfo_chkRC">Recurrent Charges</label>

<span id="ctl01_cphContent_cntPromos_pnlBasicInfo_lblPromoValidFor" 
      class="rcPromo">Validity:</span>

<span class="rcPromo">
   <input id="ctl01_cphContent_pnlBasicInfo_rbnDiscountValidFor" 
          type="radio" name="ctl01$cphContent$pnlBasicInfo$discountValidFor" 
          value="rbnDiscountValidFor" checked="checked" />
   <label for="ctl01_cphContent_cntPromos_pnlBasicInfo_rbnDiscountValidFor">valid for</label>
</span>
<span class="rcPromo">
   <input id="ctl01_cphContent_pnlBasicInfo_rbnDiscountValidUntil" 
          type="radio" name="ctl01$cphContent$pnlBasicInfo$discountValidFor" 
          value="rbnDiscountValidUntil" />
   <label for="ctl01_cphContent_cntPromos_pnlBasicInfo_rbnDiscountValidUntil">valid until</label>
</span>

<input name="ctl01$cphContent$pnlBasicInfo$txtDiscountMonths" type="text"
       id="ctl01_cphContent_pnlBasicInfo_txtDiscountMonths" 
       class="textbox" class="rcPromo" originalValue="" style="width:30px;" />
<span id="ctl01_cphContent_cntPromos_pnlBasicInfo_lblMonths" class="rcPromo"></span>

<input name="ctl01$cphContent$pnlBasicInfo$txtDiscountUntil" type="text" 
       id="ctl01_cphContent_pnlBasicInfo_txtDiscountUntil" 
       class="textbox" class="rcPromo" originalValue="" style="width:150px;" />
Ich habe ein Häkchen bei "chkRC" gesetzt, das ich abfangen und zum Aktivieren / Deaktivieren anderer UI-Steuerelemente verwenden möchteIch habe eine Reihe von Beschriftungen, Eingabe (Typ = Radio) und Eingabe (Typ = Text) UI-Steuerelemente. Diese sind alle mit der Dummy-CSS-Klasse "rcPromo" gekennzeichnetIch habe eine CSS-Klasse mit dem Namen "textbox" für das normale Textfeld und "textboxDisabled" für den deaktivierten Status des Textfelds in einer extern referenzierten CSS-Datei, die einwandfrei funktioniert (wenn sie im serverseitigen Code verwendet wird).

In jQuery möchte ich Folgendes erreichen: Wenn das Kontrollkästchen "chkRC" deaktiviert ist, möchte ich alle relevanten Steuerelemente der Benutzeroberfläche deaktivieren.

Meine jQuery sieht so aus:

    $(document).ready(function() {
        $("#<%= chkRC.ClientID %>").click(function() {
            $('.rcPromo > :label').toggleClass('dimmed');

            if (this.checked) {
                $('.rcPromo').removeAttr('disabled');
                $('.rcPromo .textboxDisabled').addClass('textbox').removeClass('textboxDisabled');
            }
            else {
                $('.rcPromo > :input').removeAttr('checked');
                $('.rcPromo .textbox').addClass('textboxDisabled').removeClass('textbox');
                $('.rcPromo').attr('disabled', true);
            }
        });
    });

Es funktioniert gut für die Beschriftungen und die Radiobuttons - aber ich kann es einfach nicht für die Textfelder verwenden - sie bleiben einfach überall gleich, nichts ändert sich (sie werden nicht deaktiviert und sie ändern ihr Aussehen nicht in zeigen an, dass sie entweder deaktiviert sind).

Ich verstehe das nicht - ich sehe mehrere (ein paar mehr als im Beispiel) Textfelder, die sind<input type="text"> in HTML, und sie haben dieclass="rcPromo" undclass="textbox" Warum findet und aktualisiert jQuery diese nicht?

Irgendwelche Ideen?

Marc

Antworten auf die Frage(2)

Ihre Antwort auf die Frage