Получить текст внутри тега <p>в <table> - PullRequest
0 голосов
/ 04 апреля 2020

В PHP это вывод, который мне удалось получить из расчета

<p id="generated">12345678199824,12345678411140,12345678921494,12345678497535,</p>

, и мне нужно, чтобы эти значения были такими, как показано ниже

<table>
 <tr>
  <td>12345678199824</td>
 </tr>

 <tr>
  <td>12345678411140</td>
 </tr>
.....
</table>

Ниже js скрипт, который я использовал

$("#setVal").click(function(event){
    event.preventDefault();
    var noOfImei = parseInt($("#nofoemei").val());
    var imeiList = "";
    if (noOfImei !== 0) {
        for (var i = 0; i < noOfImei; i++) {
            imeiList += $("#binnumber").val() + Math.floor(Math.random()*900000+100000) + ",";
        }

        $("#generated").text("");
        $("#generated").text(imeiList);

        // testing purpose
        console.log(imeiList);
    } else {
        alert("Please add no of IMEI(s) need to generate");
    }
});

- Пожалуйста, я не новичок в PHP и JS, и ему удалось продвинуться так далеко с помощью stackoverflow и учебных пособий. Спасибо.

Ответы [ 3 ]

1 голос
/ 04 апреля 2020

вы можете получить соответствующую строку и с помощью split создать массив. затем добавьте строки, например, следующие:

document.getElementById("setVal").addEventListener("click", function(){
let table = document.getElementById("myTable");
let nums = document.getElementById("generated").innerHTML;
  if(nums){
    nums.split(',').forEach(i=> {
      let row = table.insertRow(0);
      let cell1 = row.insertCell(0);
      cell1.innerHTML = i;
    })
  }
});
<p id="generated">
12345678199824,12345678411140,12345678921494,12345678497535,</p> 

<input type="button" id="setVal" value="Set Rows"/>

<table id="myTable" style="border: 1px solid red;">
 
</table>
0 голосов
/ 04 апреля 2020

В терминах PHP вначале вы должны взорвать вашу строку, а затем, подсчитав длину строки, становится проще добавить for l oop

<?php
$str = "12345678199824,12345678411140,12345678921494,12345678497535";
$str1 =  explode(",",$str);
$arrlength=count($str1);
?> 
<table style = "border:1px solid;border-collapse : collapse;">
<?php
for($x=0;$x<$arrlength;$x++)
  {
  ?>
 <tr style = "border:1px solid;">
 <td style = "border:1px solid;"><?php echo $str1[$x]?></td>
 <tr>

  <?php } ?>
  </table>

Примечание: Выберите правильный разделитель (в данном примере это ', ') в функции explode().

0 голосов
/ 04 апреля 2020
  $("#generated").text("");
  $("#generated").text(imeiList);
  data = imeiList.split(",")
  var table = document.getElementById("myTable");

  for(let i =0;i<data.length ; i++){
   var row = table.insertRow(i); 
   var cell1 = row.insertCell(0);
  cell1.innerHTML = data[i];
  }

А

<table id="myTable" /> // this in dom
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...