2017-03-12 16 views
0

whileループでajaxを使用してデータベースに挿入して削除しようとしています。 whileループ中のデータベースから来る行があり、最後の列は選択またはキャンセルされています。私は選択肢までやった。選択をクリックするとデータベースに値が挿入され、同時にその行の選択ボタンが非表示になり、キャンセルボタンが表示され、キャンセルをクリックするとデータベースからその行を削除したいときに選択ボタンを表示したいその行以下は今まで私が行ったコードです。チェックしてください。助けが必要。事前のおかげで..whileループでajaxを使用してデータベースに挿入して削除する

コード:

<tr> 
    <td>$crs</td> 
    <td>$clg</td> 
    <td> 
     <form name="form_submit_change_status" class="form_submit_change_status" action=""> 
      <input type="hidden" name="crs" class="user_id" value="<?php echo $crs; ?>"> 
      <input type="hidden" name="clg" class="clg" value="<?php echo $clg; ?>"> 
      <button class="btn btn-warning btn-xs is_enabled" value="Select">Select</button>  
     </form> 

     <div class="delete_change_status" style="display:none;"> 
      <button>Cancel</button> 
     </div> 
    </td> 
</tr> 

Javascriptコード:

非表示と表示ボタンとデータベース・コードに挿入する

後の行は、MySQLからwhileループでフェッチされます。

<script> 
$(function(){ 
    $('.btn.btn-warning').click(function(e) { 
     e.preventDefault(); 
     var $form = $(this).closest(".form_submit_change_status"); 
     var formData = $form.serializeArray(); 
     var userId = $form.find(".user_id").val(); 

     $(this).hide(".is_enabled"); 
     $(this).show(".delete_change_status"); 


     var URL = "response.php"; 
     $.post(URL, formData) 
     .done(function(data) { 


     }); 

     fail(function(jqXHR, textStatus, errorThrown) { 
      //failure  
     }); 

     var $isStatus = $form.find(".is_enabled"); 
     var varChangeStatus = $isStatus.val(); 

    }); 
}); 

</script> 
+0

私は、データの投稿に 'serializeArray()'の代わりに 'serialize()'を使うべきだと思います。 – apokryfos

+0

とは何ですか? – hassan

+0

データベースに挿入すると正常に動作していますが、選択ボタンを非表示にして、キャンセルボタンをクリックして選択ボタンを表示し、再度キャンセルボタンをクリックすると、選択ボタンが表示されます。データベース内のその行を削除します。 – Singh

答えて

0

このような修正はどうですか。 "これは" クロームで "button.btn.btn-warning.btn-xs.is_enabled" を意味

$(".delete_change_status").show(); 

$(this).show(".delete_change_status"); 

から

。 選択ボタンをクリックすると、「選択」から「キャンセル」まで表示されます。

$(function(){ 
    $('.btn.btn-warning').click(function(e) { 
     e.preventDefault(); 
     var $form = $(this).closest(".form_submit_change_status"); 
     var formData = $form.serializeArray(); 
     var userId = $form.find(".user_id").val(); 

     $(this).hide(".is_enabled"); 
     $(".delete_change_status").show(); 


     var URL = "response.php"; 
     $.post(URL, formData) 
     .done(function(data) { 

     }) 
     .fail(function(jqXHR, textStatus, errorThrown) { 
      //failure 
     }); 


     var $isStatus = $form.find(".is_enabled"); 
     var varChangeStatus = $isStatus.val(); 

     console.log(varChangeStatus); 

    }); 
}); 
+0

それは働いていません。 Onclickそれは変更なしでページをrefrsh – Singh

+0

@影、あなたは任意の解決策を与えることができますか? – Singh

+0

$(this)を削除すると、class delete_change_statusを持つすべての行にキャンセルボタンが表示されます – Singh

関連する問題