Comment puis-je utiliser l'entrée Box ID de PHP vers JavaScript?

Ma fonction JavaScript fonctionne bien, mais j'ai des problèmes pour obtenir des identifiants différents dans la boîte de saisie PHP.

JavaScript

window.onload = function() { new JsDatePick({ useMode:2, target:"inputField1", //HERE I WOULD LIKE TO PASS DIFFERENT ID ex. "inputField1"+ "i" dateFormat:"%Y-%M-%d", yearsRange:[1978,2120], limitToToday:false, cellColorScheme:"beige", imgPath:"main/img/", weekStartDay:1 }); 

Ma boîte de saisie PHP pour la boucle

 <div class = "start_date" > <strong><label for="start_date">Start Date</label></strong> <br/><br/> <?php for($k=1;$k<=$textboxindex;$k++) { echo "<input type=\"text\" class='textboxsize' id= \"inputField1\" name=\"start_date[]\" value=\"$start_date\" />"; echo "<br/>"; } ?> </div> 

Cela fonctionne bien, mais j'aimerais avoir des noms d'ID différents à utiliser dans la fonction JavaScript. Des idées?

Cela ne fonctionne pas …

 echo "<input type=\"text\" class='textboxsize' id= \"inputField+$k\" name=\"start_date[]\" value=\"$start_date\" />"; 

Toute aide serait appréciée.

Il est très probable avec le widget JsDatePick . Son paramètre target prend une seule ID d'un élément, donc vous devez envelopper le code JS dans une boucle et lancer une instance distincte du widget pour chaque ID de champ.

En supposant que l'indexation de votre champ de saisie commence par 1:

 window.onload = function() { var i = <?=$totalNumberOfInputs;?> for(j=1;j<=i;j++) { new JsDatePick({ useMode:2, target:"inputField" + j, //HERE I WOULD LIKE TO PASS DIFFERENT ID ex. "inputField1" + j dateFormat:"%Y-%M-%d", yearsRange:[1978,2120], limitToToday:false, cellColorScheme:"beige", imgPath:"main/img/", weekStartDay:1 }); } } 

Vous n'avez pas besoin de mettre le signe + pour concaténer les chaînes entre guillemets (c'est un point, d'ailleurs).

Changement:

 id= \"inputField+$k\" name=... 

À:

 id=\"inputfield$k\" name=... 

Ce qui est en train de le vider est le signe "+". PHP utilise "." Concaténer des cordes. ECHO à $k correctement et vous ne devriez pas avoir de problème

  //this is doesn't work echo "<input type=\"text\" class='textboxsize' id= \"inputField$k\" name=\"start_date[]\" value=\"$start_date\" />"; 

Retirez simplement ce signe + .