[Jquery] Checkbox non settato e campo non disabilitato

4 contenuti / 0 new
Ultimo contenuto
[Jquery] Checkbox non settato e campo non disabilitato

Ciao all, su alcuni tipi di contenuto ho un campo prezzo (textfield) ed un campo "trattativa riservata" (checkbox). Volevo far si che quando l'utente clicca sul checkbox, il campo di testo diventi "opaco" e disabilitato e che ovviamente il checkbox diventi "checked".

Ho provato un po' di tutto, ma non riesco a farlo. Questo è il codice:

(function ($){
$(document).ready(function (){
$('#edit-field-all-reserved-und').toggle(function(){
$('#edit-field-all-price').css('opacity',0.4);
$('#edit-field-all-price-und-0-value :input').attr('disabled','disabled');
                        $('#edit-field-all-reserved-und').prop('checked',true);
},function(){
$('#edit-field-all-price').css('opacity',1);
});
});
})(jQuery);

Mi sembra corretto. Il campo diventa opaco, ma non riesco a far si che il campo sia disabilitato e che il checkbox diventi "check-ato".

Dove è che sbaglio ?

E dire che dovrebbe essere una cosa così semplice.

M.

Drupal Version:

Ciao,
sinceramente non saprei cosa sbagli ma prova a controllare la versione di jQuery:
la .prop() dovrebbe funzionare dalla 1.6.

Per il testo prova a controllare bene l'id.
Hai provato semplicemente con:
$('#edit-field-all-price').attr('disabled','disabled');
visto che per far diventare opaco l'elemento usi proprio
$('#edit-field-all-price').css('opacity',0.4);
?

Sappimi dire :-)

Ciao, grazie per il suggerimento. Oggi funziona il disabled, ma non ancora il checked, ma ho notato una cosa strana ma prima ecco il codice aggionarto.

(function ($){
$(document).ready(function (){
$('#edit-field-all-reserved-und').toggle(function(){
$('#edit-field-all-price').css('opacity',0.4);
$('#edit-field-all-price-und-0-value').attr('disabled','disabled');
$('#edit-field-all-price-und-0-value').attr('value',0);
    $('#edit-field-all-reserved-und').attr('checked','checked')
},function(){
$('#edit-field-all-price').css('opacity',1);
$('#edit-field-all-reserved-und').attr('checked','');
$('#edit-field-all-price-und-0-value').attr('disabled','');
$('#edit-field-all-price-und-0-value').attr('value','');
});
});
})(jQuery);

La cosa strana è questa: se tramite "mostra impostazioni web" (Safari) metto un break sulla prima istruzione del toggle(), riesco a vedere che Safari mi ha checkato il "checkbox", ma appena la funzione toggle() esce dalla esecuzione il check sparisce. E non capisco il perché. Ho provato con FF e succede la stessa cosa.

M.

--
Michel 'ZioBudda' Morelli -- [email protected]
Sviluppo applicazioni CMS DRUPAL e web dinamiche -- Corsi Drupal -- Amministrazione Drupal -- Hosting Drupal

Ah, ho risolto utilizzando click() e controllando se il campo era checkato. Con toggle() immagino che venga eseguito qualche cosa che mi "dechecka" il checkbox.

M.

--
Michel 'ZioBudda' Morelli -- [email protected]
Sviluppo applicazioni CMS DRUPAL e web dinamiche -- Corsi Drupal -- Amministrazione Drupal -- Hosting Drupal