2016-05-22 5 views
0

私は次のようなループを持っています:phpループ。たとえば、 4イメージ。jQueryを使ってループ中にPHPの個々のクラスを非表示にするには?

while($get_images_result = mysqli_fetch_array($get_images)) { 

    $image_id = (int) $get_images_result['p_image_id']; 
    $p_large_image = htmlspecialchars($get_images_result['p_large_image']); 
    $p_small_image = htmlspecialchars($get_images_result['p_small_image']); 
    echo '<div class="col-md-3 existingImg">'; 
    echo '<div class="my_menu_image">'; 
    echo "<img src='".IMG_DIR."menu_images/$p_small_image' class='img-responsive' width='160' height='112' />"; 
    echo "<input type='hidden' id='p1' value='$p_large_image'>"; 
    echo "<input type='hidden' id='p2' value='$mid'>"; 
    echo "<input type='hidden' id='p3' value='$u_id'>"; 
    echo '<a class="icon-jfi-trash jFiler-item-trash-action menu_image_delete"></a>'; 
    echo '</div>'; 
    echo '</div>'; 
    $x++; 
} 

そして、あなたはこのmenu_image_deleteクラスは削除画像のために使用され、このラインecho '<a class="icon-jfi-trash jFiler-item-trash-action menu_image_delete"></a>';

menu_image_deleteクラスがあることがわかります。だから私は各画像を削除すると正常にデータベースから画像を削除し、削除した画像を非表示にしたいのです。私は、次のjQueryコードを使用していますが、それは:(

jQueryのコード働いて得ることができないように:実際の要素のイベントが発生したイベントハンドラに

$('.menu_image_delete').click(function() { 
    if (confirm('Are you sure you want to delete this?')) { 
     var p1 = $('#p1').val(); 
     var p2 = $('#p2').val(); 
     var p3 = $('#p3').val(); 
     var param = 'delete_upload_image?p1='+p1+'&p2='+p2+'&p3='+p3; 
     $.get(param); 

     $('.existingImg').each(function() { 
      $('.existingImg', $(this)).hide(); 
     }); 
    } 

}); 

答えて

0

使用thisを次にアップトラバースexistingImgclosest()

変更

$('.existingImg').each(function() { 
    $('.existingImg', $(this)).hide(); 
}); 
を使用して

$(this).closest('.existingImg').hide(); 

に、しかし、あなたは本当に唯一のAJAXリクエストが失敗した場合、ユーザはまだ要素が隠され得る表示され、すべてがうまくていると仮定しそう $.getの成功コールバックでこれを行う必要があること。

$.get(param, function(resp){ 
    // validate your response here and then hide image 
}); 
+0

素晴らしいですが、親()を使用しましたが、画像を削除してもまだSPACEが表示されています。しかし、近い()今は大丈夫です。お疲れ様でした。 –

+0

親は 'myImenu_image'ではなく' existingImg'です。 – charlietfl

関連する問題