2011-06-10 3 views
0

Я должен прикрепить jQuery к счету. Иногда мне приходится печатать несколько счетов-фактур как один раз в пакете. Когда это происходит, мой точно такой же jQuery появляется для каждого счета-фактуры, и он запускается каждый раз, создавая дополнительные элементы, которые мне не нужны. Есть ли способ иметь jQuery, который появляется более одного раза только один раз, когда он последний раз, когда он появляется в коде? Спасибо за любую помощь.Остановить jQuery от повторения, пример прилагается

Пример приведен ниже. Я ранее размещал это, и все спрашивали, как я это делаю. Я не был уверен, как добавить код в сообщение, поскольку он сказал, что он слишком длинный. Спасибо за вашу помощь. Вы, ребята, потрясающие.

<table width=180 border=0 cellpadding=0 cellspacing=0> 
       <tr> 
        <td class="barcode_needed">10133</td> 
       </tr> 

<!--This section of code is attached to every order so it repeats when each order prints, (this is a simplified version of the code, I need to make it only run the last time it shows up-->      
<link rel="stylesheet" type="text/css" href="http://barcode-coder.com/css/style.css?ft=1298939919" /> 
<script type="text/javascript" src="http://barcode-coder.com/js/jquery-1.3.2.min.js"></script> 
<script type="text/javascript" src="http://barcode-coder.com/js/jquery-ui-1.7.custom.min.js"></script> 
<script type="text/javascript" src="http://barcode-coder.com/js/jquery-barcode-last.min.js"></script> 


<script> 
$('td.barcode_needed').append('<div class="bcTarget">'); 

$('.bcTarget').each(function() { 
var $this = $(this); 
$this.barcode(
    'G' + $this.closest('td.barcode_needed').text(), 
    'code128' 
); 
}); 


</script> 
<!--End Repeating Code--> 
       <tr> 
        <td class="barcode_needed">20133</td> 
       </tr> 


<link rel="stylesheet" type="text/css" href="http://barcode-coder.com/css/style.css?ft=1298939919" /> 
<script type="text/javascript" src="http://barcode-coder.com/js/jquery-1.3.2.min.js"></script> 
<script type="text/javascript" src="http://barcode-coder.com/js/jquery-ui-1.7.custom.min.js"></script> 
<script type="text/javascript" src="http://barcode-coder.com/js/jquery-barcode-last.min.js"></script> 


<script> 
$('td.barcode_needed').append('<div class="bcTarget">'); 

$('.bcTarget').each(function() { 
var $this = $(this); 
$this.barcode(
    'G' + $this.closest('td.barcode_needed').text(), 
    'code128' 
); 
}); 


</script> 

       <tr> 
        <td class="barcode_needed">30133</td> 
       </tr> 


<link rel="stylesheet" type="text/css" href="http://barcode-coder.com/css/style.css?ft=1298939919" /> 
<script type="text/javascript" src="http://barcode-coder.com/js/jquery-1.3.2.min.js"></script> 
<script type="text/javascript" src="http://barcode-coder.com/js/jquery-ui-1.7.custom.min.js"></script> 
<script type="text/javascript" src="http://barcode-coder.com/js/jquery-barcode-last.min.js"></script> 


<script> 
$('td.barcode_needed').append('<div class="bcTarget">'); 

$('.bcTarget').each(function() { 
var $this = $(this); 
$this.barcode(
    'G' + $this.closest('td.barcode_needed').text(), 
    'code128' 
); 
}); 


</script> 

</table> 

ответ

1

Изменить повторяющийся шаблон включает в себя проверку:

<script> 
if (typeof alreadyDone === "undefined") { 
    var alreadyDone = true; 

    $(document).ready(function() { 
    $('td.barcode_needed').append('<div class="bcTarget">'); 

    $('.bcTarget').each(function() { 
     var $this = $(this); 
     $this.barcode('G' + $this.closest('td.barcode_needed').text(),'code128'); 
    });  
    }); 
} 
</script> 

Теперь он должен работать только один раз.

Другое дело, чтобы попытаться, где мы удаляем классы, как мы идем ...

<script> 
$('td.barcode_needed').each(function() { 
     $(this).append('<div class="bcTarget">'); 
}); 

$('.bcTarget').each(function() { 
    $(this).barcode('G' + $(this).closest('td.barcode_needed').text(),'code128'); 
    $(this).removeClass('bcTarget');  
    $(this).closest('td.barcode_needed').removeClass('barcode_needed'); 
});  
</script> 
+0

То есть проблема, я ничего не могу добавить только один раз. Независимо от того, какой код я его вставляю, будет повторяться с каждым заказываемым пакетом. Код должен быть прикреплен к одной странице заказа. – user764728

+0

@ user764728 Посмотрите, будет ли обновленный ответ работать для вас ... – Fosco

+0

@ user764728 просто слегка отредактировал неопределенный чек и упростил его. – Fosco

Смежные вопросы