[HTML][CSS] Zaznaczenie radio nie działa po ostylowaniu

0

Hej

Bez ostylowania wszystko działa, natomiast gdy dodam takie style:

    .form-radios {
        display: inline;
    }
    #edit-profile-status-company-wrapper label {
        margin-top: 5px;
        width: 60px;
    }
    #edit-profile-status-person-wrapper label {
        margin-top: -28px;
    }

Radio buttony przestają reagować na kliknięcia.

HTML

<div class="form-radios">
<div id="edit-profile-status-company-wrapper" class="form-item">
 <label for="edit-profile-status-company" class="option">
<input type="radio" class="form-radio" checked="checked" value="company" name="profile_status" id="edit-profile-status-company"> Company</label>
</div>
<div id="edit-profile-status-person-wrapper" class="form-item">
 <label for="edit-profile-status-person" class="option">
<input type="radio" class="form-radio" value="Person" name="profile_status" id="edit-profile-status-person"> Person</label>
</div>
</div>

Proszę o pomoc,
Pozdrawiam Aga

0

coś zmyślasz. poniższy kod działa poprawnie na ie 6/7/8, chrome, ff i operze:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title></title> <style type="text/css"> .form-radios { display: inline; } #edit-profile-status-company-wrapper label { margin-top: 5px; width: 60px; } #edit-profile-status-person-wrapper label { margin-top: -28px; } </style> </head> <body>
<label for="edit-profile-status-company" class="option"> <input type="radio" class="form-radio" checked="checked" value="company" name="profile_status" id="edit-profile-status-company" /> Company </label>
<label for="edit-profile-status-person" class="option"> <input type="radio" class="form-radio" value="Person" name="profile_status" id="edit-profile-status-person" /> Person </label>
</body> </html>
inną sprawą jest, że zamykasz w boksie typu inline (display:inline) boksy typu block. tak się nie robi. i nie domykasz tagów.
0

Dzięki. Nie zmyślam, ten kod HTML wyprodukował Drupal, ale jest pewnie zły DOCTYPE ustawiony w skórce.

0

Dodałam DOCTYPE od Ciebie ale dalej lipa.
Jest tak że mogę zmienić tylko raz zaznaczone radio, w odwrotną stronę już nie działa.
Zmieniam z company na person i tyle, dalej nie mogę (FF, Opera itd).

Dodam, że mam skrypt działający na tych radiach, ale bez tych styli działa, więc może nie ma znaczenia, ale na wszelki wypadek go wrzucam:

    $(document).ready(function() {
        $('#edit-profile-country').val('Polska');
        $('.form-select').selectbox({debug: true});
        $('.form-radio').click(function() {
            var radio = $(this),
                nameLabel = $('#edit-profile-name-wrapper label'),
                peselFld = $('#edit-profile-pesel'),
                nipFld = $('#edit-profile-nip'),
                regonFld = $('#edit-profile-regon'),
                statusId = radio.val() == 'firma' ? 2 : 1,
                requiredText = '<span title="Wypełnienie pola jest wymagane." class="form-required">*</span>';
                switch(statusId) {
                    case 1:
                        nameLabel.html('Imię i nazwisko: ' + requiredText);
                        enableField(nipFld);
                        enableField(peselFld);
                        disableField(regonFld);
                        break;
                   case 2:
                       nameLabel.html('Firma: ' + requiredText);
                       enableField(regonFld);
                       disableField(peselFld);
                       disableField(nipFld);
                }

             function enableField(field) {
                 field.removeAttr('disabled');
                 field.removeClass('disabled');
             }

             function disableField(field) {
                 field.attr('disabled', true);
                 field.addClass('disabled');
             }
        }).each(function() {
            if ($(this).val() == 'firma') {
                $(this).click();
            }
        })
    });
0

ten js odwołuje się do pól, których nie ma w html, który podałaś. wrzuć kompletny kod, albo jeszcze lepiej, podaj url, gdzie można zobaczyć całość w działaniu.
w przeciwnym wypadku - spójrz do konsoli błędów Twojego firefoksa i zobacz, jakie błędy/warningi są rzucane (zignoruj warningi pochodzące bezpośrednio z jQuery).

1 użytkowników online, w tym zalogowanych: 0, gości: 1