亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用多個行但保留元素 ID 時重新加載 Div

使用多個行但保留元素 ID 時重新加載 Div

慕娘9325324 2022-08-27 14:11:15
我在數據庫中有一組記錄,并將它們列成行。每一行都必須是唯一的元素id,所以我實現了如下,這是在主循環內部。#right<?php echo $row['Id']; ?>    {     display: inline-block;    width:250px;     float:left;    text-align: left;      height:auto;       font-family:Arial;          font-size: 12px;     text-decoration: none;  }因此,每條記錄都有自己的 css,如上所述。我在每行上都有一個提交表單按鈕,它也使用唯一的,所以每個表單都有自己的名稱。<?php echo $row['Id']; ?>我提交表單并使用ajax重新加載當前的div,以便它隨著行狀態的變化而改變顏色。我遇到的問題是,一旦我提交了一次此表單,它將不再提交第二次而不加載整個頁面,我假設這與元素id有關?這是阿賈克斯    <script>        $(document).ready(function() {            $("#submit<?php echo $row['Id']; ?>").submit(function() {                     var frm = $('#submit<?php echo $row['Id']; ?>');                     $.ajax({                         type: frm.attr('method'),                         url: 'Update.php',                         data: frm.serialize(),                         success: function (data) {                             $('#right<?php echo $row['Id']?>').load(' #right<?php echo $row['Id']?> ',function(){                             $("#image<?php echo $row['Id']; ?>").show(); }                                 ) ;                   }, error: function(jqXHR, textStatus, errorThrown){                  console.log(" The following error occured: "+ textStatus, errorThrown );                } });               return false;            });        });    </script>這似乎完全工作正常,我第一次提交div重新加載并按預期,當你第二次點擊它時。我這樣做是完全錯誤的方式嗎?我知道我可以在重新加載的divs之外執行提交按鈕,然后它繼續工作,但想重新加載整個div,以便我可以將按鈕更改為其他選項等。任何幫助將不勝感激。這是 html/php<div id="right<?php echo $row['Id']; ?>"><form id="submit<?php echo $row['Id']; ?>" method="post" autocomplete="off"><input type="hidden" value="<?php echo $row['Id']?>" name="id"> <input class="input-2" type="text" name="returnid"  value="<?php echo $row['returnID']; ?>"><input type="submit" name="submit-form" class="buttonSubmitHide" /></form></div>
查看完整描述

2 回答

?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

您編寫的代碼不會在處理后隱藏元素。#loading

如果可能的話,我需要首先看到你的html代碼,如果它不可能,所以你需要在你的過程完成后隱藏你的元素,之后你將能夠再次顯示它。#loading

當加載沒有隱藏并且只是顯示時,您的代碼在第一時間如何正常工作?

如果它將在加載后被刪除,那么您也需要加載元素。#loading


查看完整回答
反對 回復 2022-08-27
?
www說

TA貢獻1775條經驗 獲得超8個贊

在每行上放置一個類并刪除 id。利用獲取與類匹配的所有元素的功能,并將事件掛接到與類匹配的每個元素。然后在函數中使用以獲取行,并從那里導航到子項。$(this).parent()


這只是一種改進代碼的策略,而不是具體的答案,但是如果您遵循此方法,則可能更容易推斷出錯誤所在。


$(document).ready(function() {

  $(".js-action").submit(function() {


    var row = $(this).parent('.row');


    $.ajax({

       type: $(this).attr('method'),

       url: 'Update.php',

       data: $(this).serialize(),

       success: function (data) {

           row.find('.response-image').show(); 

       },

       error: function(jqXHR, textStatus, errorThrown){

           console.log("The following error occured: "+textStatus,errorThrown);

       } 

    });


});

<!-- this gets repeated a bunch of times. No need for ids -->


<div class="row">

    <form class="response" method="post" autocomplete="off">

        <input type="hidden" value="<?php echo $row['Id']?>" name="id"> 

        <input class="input-2" type="text" name="returnid"  value="<?php echo $row['returnID']; ?>">

        <input type="submit" name="submit-form" class="buttonSubmitHide" />

    </form>

</div>


查看完整回答
反對 回復 2022-08-27
  • 2 回答
  • 0 關注
  • 96 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號