Domanda

Quindi ho tre contenitori.Ho un pulsante di stampa che apre un modale.In quel Modal sto usando jQuery per aggiungere un div (cioè sulla pagina) al corpo del Modal.All'interno del modal ho un pulsante di stampa che stampa solo l'immagine.Puoi vedere un esempio qui: http://schomphondaffeurs.com/test1 .Attualmente quando si fa clic su Stampa, dovrebbe fare il modale senza i pulsanti con lo speciale sopra.Sto ottenendo risultati variati con la seconda immagine che si presenta in tutti i modali e solo il primo rimuove i pulsanti.

Tutto sembra funzionare bene.Con solo uno.Ho provato a duplicare questo pezzo di codice, per usarlo 3 volte (ho appena sostituito uno con due e tre per le altre colonne).Sono nuovo per jQuery e so che c'è un modo molto più semplice per scrivere questo.Apprezzo qualsiasi aiuto.

jQuery(document).ready(function( $ ) {

$('#sales-one').appendTo("body").modal('hide');

$('#print-one').click(function(){
    $('.special-one').printElement();
});

$(function(){
    var oldDiv= $('.special-one').html();
    $('.modal-body').html(oldDiv);  
});

$(function(){
    $('#sales-one').click();
    $('.modal-body').eq(0) //use 1 if you want to remove from second section
    .find('#special-one-button').remove();
});

});

jQuery(document).ready(function( $ ) {

$('#sales-two').appendTo("body").modal('hide');

$('#print-two').click(function(){
    $('.special-two').printElement();
});

$(function(){
    var oldDiv= $('.special-two').html();
    $('.modal-body').html(oldDiv);  
});

$(function(){
    $('#sales-two').click();
    $('.modal-body').eq(0) //use 1 if you want to remove from second section
    .find('#special-two-button').remove();
});

});

jQuery(document).ready(function( $ ) {

$('#sales-three').appendTo("body").modal('hide');

$('#print-three').click(function(){
    $('.special-three').printElement();
});

$(function(){
    var oldDiv= $('.special-three').html();
    $('.modal-body').html(oldDiv);  
});

$(function(){
    $('#sales-three').click();
    $('.modal-body').eq(0) //use 1 if you want to remove from second section
    .find('#special-three-button').remove();
});

});
.

È stato utile?

Soluzione

JQuery

jQuery(document).ready(function( $ ) {
  $('.btw').click(function(){
    $('.modal-body').html($('.'+$(this).data('class')).html());
    $('.modal-body [id$=-button]').remove();
  });       
});
.

HTML

<button href="#sales-one" data-class="special-one" class="btw" data-toggle="modal">Print</button>
<button href="#sales-two" data-class="special-two" class="btw" data-toggle="modal">Print</button>
<button href="#sales-three" data-class="special-three" class="btw" data-toggle="modal">Print</button>
.

Ecco un esempio che si spera che aiuterà.

http://www.bootey.com/104889

Non ho esaminato troppo il refactoring del tuo html, ma ho notato che stai usando tre modali .. potresti rivolgersi a farlo in modo da usare solo uno invece di tre.Ma ho appena lavorato per ri-factoring il codice che hai condiviso nella tua domanda e modifichi un po 'di html, quindi funzionerebbe.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top