'Variable dans appel jquery [duplicate]

Little worries: I use the jQuery barcode 2.0.3 plugin. I am looking to do a function that has each call creates a barcode.

Here is my code:

<script type="text/javascript" src="../js/jquery/sample/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="../js/jquery/jquery-barcode.js"></script>
<script>
  function code_barre(ref, n) {
    var refcode = ref;
    $('#bcTarget' + n.id).barcode(refcode, "code93", {
      barWidth: 2,
      barHeight: 40,
      fontSize: 24
    });
    value = "code93"
  }
</script>

<?php
			////////////////////////////////// Connection à la base ///////////////////////
			include '../0/bdd_connection.php';
		?>
  </head>

  <body>
    <?php
			$cont=0;
		    $reponse = $bdd->prepare('SELECT catalogue_ref, cat_ref, cat_ref_unit FROM catalogue as ca
		    	INNER JOIN catalogue_stock as cs on ca.catalogue_ref=cs.cat_ref
            WHERE catalogue_ref = ? ');
            $reponse ->execute(array('REAC-0001'));
            while ($donnees = $reponse->fetch())
            	{
            		$cont++;
            		echo $donnees['cat_ref'].'-'.$donnees['cat_ref_unit'].' ';
            		echo '<script>code_barre(\''.$donnees['cat_ref'].'-'.$donnees['cat_ref_unit'].'\',\''.$cont.'\')</script>';
            		echo '<div id="bcTarget'.$cont.'" name="bcTarget'.$cont.'"></div>';
            		
            	}
            $reponse->closeCursor();

        ?>


Solution 1:[1]

In the function code_bar, $('#bcTarget' + n.id) should be $('#bcTarget' + n) as n is already a number.

In the php code, the element should be appended before the script as the script relies on the element being in the DOM when it executes:

while ($donnees = $reponse->fetch()) {
    $cont++;
    echo $donnees['cat_ref'].'-'.$donnees['cat_ref_unit'].' ';

    echo '<div id="bcTarget'.$cont.'" name="bcTarget'.$cont.'"></div>';  // <=== put this first

    echo '<script>code_barre(\''.$donnees['cat_ref'].'-'.$donnees['cat_ref_unit'].'\',\''.$cont.'\')</script>';
}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 ibrahim mahrir