首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用表单post方法发送表时,动态添加到表中的类会丢失

使用表单post方法发送表时,动态添加到表中的类会丢失
EN

Stack Overflow用户
提问于 2020-11-10 22:06:21
回答 1查看 21关注 0票数 0

我有一张表格,如下所示

代码语言:javascript
复制
<table id="tab" class="table table-bordered table-striped table-sm text-right">
      <thead class="table-header bg-light">
            <tr>
                <td colspan="7"></td>
                ...
            </tr>
      </thead>
</table>

我使用jQuery动态添加了一个类(即siz1或size5)。代码如下:

代码语言:javascript
复制
function change_size(inc_dec){
        for(i=1;i<12;i++){
            if($("#tab").hasClass("size"+i)){
                if(inc_dec==="inc"){
                    if(i != 11){
                        $("#tab").removeClass("size"+i);
                        $("#tab").addClass("size"+(i+1));
                        break;
                    }
                }else{
                    if(i != 1) {
                        $("#tab").removeClass("size" + i);
                        $("#tab").addClass("size" + (i - 1));
                    }
                }
            }
        }
    }

它显示了更改,但当我使用表单post方法将整个html发送到另一个页面时,使用以下代码将其发送到另一个页面。我正在使用PHP与jQuery发送。

代码语言:javascript
复制
$('.export-btn').on('click',function(e){
        var html = $(this).closest('.page').find('.page-records').html();
        var title = $(this).closest('.page').find('.record-title').html();
        $('#exportformdata').val(html);
        $('#exportformtitle').val(title);
        $('#exportform').submit();
    });

动态添加的类将丢失。

source code of print page

EN

回答 1

Stack Overflow用户

发布于 2020-11-10 22:26:35

你可以看到下面的代码,我可以在其中获得带有更新的类的表html。您可以先单击original按钮来获取原始表格html的html,然后单击update按钮来获取具有更新的类名的html。

因此,这里需要从父元素而不是该元素获取html()。您可以使用一些div作为父元素来包装表格。

代码语言:javascript
复制
$(function(){
  $("#update").on("click", function(){
    $('table').removeClass("green");
    $('table').addClass("blue");
    var updatedHTML = $("#tab").html();
    alert(updatedHTML);
    $("#updateValue").val(updatedHTML);
  });
  $("#original").on("click", function(){
    var originalHTML = $("#tab").html();
    alert(originalHTML);
    $("#originalValue").val(originalHTML);
  });
});
代码语言:javascript
复制
.green {
  background-color: green;
}
.blue {
  background-color: blue;
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="tab">
<table class="green">
  <tr><td>Some Test here....</td></tr>
</table>
</div>
<br>
<input type="button" value="original" id="original">
<input id="originalValue">
<br><br>
<input type="button" value="update" id="update"><br>
<input id="updateValue">

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64770457

复制
相关文章

相似问题

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