首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript将表行推送到数组

Javascript将表行推送到数组
EN

Stack Overflow用户
提问于 2017-01-03 18:46:57
回答 1查看 1.1K关注 0票数 0

我有一个PHP脚本,它生成一串表行并通过AJAX调用返回。此字符串包含tbody标记(<tr>1</tr><tr>2</tr>)之间的所有内容。

这个数据通过AJAX调用被传回,这样我就可以在我的成功函数中访问它。

PHP:

代码语言:javascript
复制
$outputArray = Array();
$recordCount = 0;
$i = 0;

// Loop over our data
foreach($objData->data as $r){

  $outputArray[$i++] = '<tr data-qid="'.$r->identifierQID.'" class="primaryValue ' . searchMarkup($markupData, $r->identifierQID) . '">';

    // Loop over our fields
    foreach($r as $key => $value){

      // Vars
      $fieldID = str_replace('_', '', $key);

      // Don't include our identifier columns
      if(!in_array($fieldID, $ignore)){
        $outputArray[$i++] = '<td data-tableexport-display="always" class="small' . ($exportFields ? (in_array($fieldID, $exportFields) ? ' hidden' : '') : '') . '">' . formatFieldData($fieldID, $value) . '</td>';
      }

    }

    // Notes always come last
    $outputArray[$i++] = '<td data-tableexport-display="always" class="notesTD allowContext hidden"></td>';

  $outputArray[$i++] = '</tr>';
  $recordCount++;

}

// Join our rows array and return it
$end = microtime(true);
$timer = number_format($end - $start, 2);
return array(join("",$outputArray), $recordCount, $timer);`

我试图通过一个名为clusterize的插件来使用这些数据,该插件用于处理DOM中的大量数据。它要求每一行都是数组中自己的值。

示例:var data = ['<tr>…</tr>', '<tr>…</tr>', …];

我的问题是,输出作为包含所有行的串联字符串返回。

我的问题:

我如何才能在数组中将每个TR作为自己的值,然后将其提供给我的成功函数?最好是在PHP端这样做,还是使用javascript将最后的字符串炸成数组?

EN

回答 1

Stack Overflow用户

发布于 2017-01-03 19:07:16

在需要时从服务器返回每一行,以简化和避免无用的工作(即连接,然后再拆分)。下面是一个(未经测试的)示例:

代码语言:javascript
复制
$outputArray = Array();

foreach($objData->data as $r){
  $row = '<tr data-qid="'.$r->identifierQID.'" class="primaryValue ' . searchMarkup($markupData, $r->identifierQID) . '">';

  foreach($r as $key => $value){
    $fieldID = str_replace('_', '', $key);

    if(!in_array($fieldID, $ignore)){
      $row .= '<td data-tableexport-display="always" class="small' . ($exportFields ? (in_array($fieldID, $exportFields) ? ' hidden' : '') : '') . '">' . formatFieldData($fieldID, $value) . '</td>';
    }
  }

  $row .= '<td data-tableexport-display="always" class="notesTD allowContext hidden"></td>';
  $row .= '</tr>';

  $outputArray[] = $row;
}

$end = microtime(true);
$timer = number_format($end - $start, 2);

return array($outputArray, count($outputArray), $timer);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41450345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档