Ho effettuato un controllo fieldset pieghevole personalizzato in asp.net. Io uso jquery per aggiungere gli effetti di commutazione. Il controllo funziona perfettamente, ma quando sto usando i miei fieldset all'interno di un updatepanel, più un postback perdo la mia logica jquery a causa del documento. Già.JQuery Live() non funzionante
Ora ho letto della nuova funzione Live() di Jquery ma non riesco a farlo funzionare. Cosa faccio di sbagliato? Qualcuno ha la risposta ??
Grazie mille
Il mio codice jQuery è:
$(document).ready(function() {
$.fn.collapse = function(options) {
var defaults = { closed: false }
settings = $.extend({}, defaults, options);
return this.each(function() {
var obj = $(this);
obj.find("legend").addClass('SmartFieldSetCollapsible').live("click", function() {
if (obj.hasClass('collapsed')) {
obj.removeClass('collapsed').addClass('SmartFieldSetCollapsible'); }
$(this).removeClass('collapsed');
obj.children().next().toggle("slow", function() {
if ($(this).is(":visible")) {
obj.find("legend").addClass('SmartFieldSetCollapsible');
obj.removeAttr("style");
obj.css({ padding: '10px' });
obj.find(".imgCollapse").css({ display: 'none' });
obj.find(".imgExpand").css({ display: 'inline' });
}
else {
obj.css({ borderLeftColor: 'transparent', borderRightColor: 'transparent', borderBottomColor: 'transparent', borderWidth: '1px 0px 0px 0px', paddingBottom: '0px' });
obj.find(".imgExpand").css({ display: 'none' });
obj.find(".imgCollapse").css({ display: 'inline' });
}
});
});
if (settings.closed) {
obj.addClass('collapsed').find("legend").addClass('collapsed');
obj.children().filter("p,img,table,ul,div,span,h1,h2,h3,h4,h5").css('display', 'none');
}
});
};
});
$(document).ready(function() {
$("fieldset.SmartFieldSetCollapsible").collapse();
});
+1 Mi piace l'idea di usare la freccia (compresso/espanso) totalmente CSS attraverso la frontiera larghezza – adardesign
Sei sicuro di vivere() è ancora chiamato? – RamboNo5