在两个for循环之后用jquery添加表行

时间:2017-12-21 20:50:09

标签: php jquery

通常我会通过jQuery中的eq()函数指定所需元素。

现在我需要在两个for循环中指定一个表行,但我无法访问$i$l

这是代码。

$content_count   = count($content);
$languages_count = count($languages);
for ($i = 0; $i < $content_count; $i++) {
  for ($l = 0; $l < $languages_count; $l++) {
    echo '<tr>';
    echo '  <td class="dataTableConfig col-left" style="border-right:1px solid #a3a3a3;">' . $lang_img . TEXT_TITLE . '</td>';
    echo '  <td class="dataTableConfig col-single-right">';
    echo      xtc_draw_input_field('content_title[' . $i . '][' . $languages[$l]['id'] . ']', ((isset($content_lang['content_title'])) ? $content_lang['content_title'] : ''), 'size="60"');
    echo '  </td>';
    echo '</tr>';
  }
}

我尝试了这段代码

echo '<tr>';
echo '  <td class="dataTableConfig col-left" style="border-right:1px solid #a3a3a3;">' . $lang_img . TEXT_MASK_ALIAS . '</td>';
echo '  <td class="dataTableConfig col-single-right">';
echo      xtc_draw_input_field('mask_alias[' . $i . ']['. $languages[$l]['id'] . ']', ((isset($content_lang['mask_alias'])) ? $content_lang['mask_alias'] : ''), 'size="60"');
echo '  </td>';
echo '</tr>';
?>
<script>
$(document).ready(function() {
  var content   = <?php echo $content_count; ?>;
  var languages = <?php echo count($languages); ?>;
  for (var i = 0; i < content.length; i++) {
    for (var l = 0; l < languages.length; l++) {
      $("[name^='mask_alias']").closest("tr").detach().insertAfter($("[name=^'content_title']").closest("tr"));    
    }  
  }
});  
</script>

但它不在正确的地方,$ i和$ l的数量是错误的。

1 个答案:

答案 0 :(得分:0)

我找到了使用此代码的解决方案

<script>
$(document).ready(function() {
  var content   = <?php echo $content_count; ?>;
  var languages = <?php echo json_encode($languages); ?>;
  var row       = '';
  for (var i = 0; i < content; i++) {
     $.each(languages, function(key, value) {
      row  = '<tr>';
      row += '  <td class="dataTableConfig col-left" style="border-right:1px solid #a3a3a3;">';
      row += '    <div style="float:left;margin-right:5px;">';
      row += '      <img src="/lang/' + value['directory'] + '/admin/images/' + value['image'] + '" alt="' + value['name'] + '" title="' + value['name'] + '" style="border:0;">';
      row += '    </div>';
      row += '     <?php echo TEXT_MASK_ALIAS; ?>';
      row += '  </td>';
      row += '  <td class="dataTableConfig col-single-right">';
      row += '    <input type="text" name="mask_alias[' + i + '][' + value['id'] + ']" value="<?php echo (isset($content_lang['mask_alias']) ? $content_lang['mask_alias'] : ''); ?>" size="60">';
      row += '  </td>';
      row += '</tr>';
      $('[name="content_title[' + i + '][' + value['id'] + ']').closest('tr').after(row);
    });  
  } 
});  
</script>