http://jsfiddle.net/6pu3e/

JS:

$(document).ready(function() {
    var block = false;
    if $('#password').attr('disabled'); {
        block = false;
    }else{
        block = true;
    };
    if block {
        $('.form_input input').attr('disabled','disabled');
    }else{
        $('.form_input input').removeAttribute('disabled');
    }
});

HTML:

<form>
    <input id="password" value="" />
    <input class="form_input" id="Special" />
    <input class="form_input" id="Nothing Special" />
</form>

Celem jest to, że wszystkie wejścia z pewną klasą otrzymują atrybut wyłączone, jeśli pierwsze wejście z ID = "Hasło" nie ma atrybutu wyłączenia. Jeśli pierwsze wejście jest wyłączone, nic się nie dzieje. To znaczy. Drugi wejście nie otrzymają niepełnosprawnego atrybutu.

0
o_O 8 sierpień 2012, 00:09

3 odpowiedzi

Najlepsza odpowiedź

Lubię to? JSFiddle Przykład

var block = false;
if ($('#password').attr('disabled')) {
    block = false;
} else {
    block = true;
}
if (block) {
    $('.form_input').attr('disabled', 'disabled');
} else {
    $('.form_input').removeAttribute('disabled');
}

Lub wersja ultra skondensowana:

$('.form_input').attr('disabled',!$('#password').attr('disabled') );​

JSFiddle Przykład

1
j08691 7 sierpień 2012, 20:17

Twoja składnia javascript i użycie $() są niepoprawne. Jeśli oświadczenia wymagają nawiasów wokół oceny wyrażenia, a {x1}} wygląda na elementy <input> w elementach .form_input.

Możesz także skrócić cały blok do jednej linii z logiką, którą chcesz mieć właściwość disabled na .form_input, aby być przeciwległym właściwości disabled #password element.

Próbować:

$(document).ready(function() {
    $('.form_input').prop('disabled',!$('#password').prop('disabled'));
});
2
jackwanders 7 sierpień 2012, 20:15
$(document).ready(function() {
    var foo = $('#password').attr('disabled');
    if (foo == 'disabled'){
    $('.form_input').attr('disabled','disabled');
    }else{
    $('.form_input').removeAttribute('disabled');
    }
});

DEMO robocze: http://jsfiddle.net/thewingser/6pu3e/27/.

Nie było potrzeby użycia boolean {x0}}. Szczerze mówiąc, moja zmienna {X1}} nie jest naprawdę potrzebna. Po prostu zrobiłem to do czytelności.

0
Eric Robinson 7 sierpień 2012, 20:29