2016-10-10 34 views
0

基本上我有一個表像下面:我如何解決這個jQuery/ajax問題?

<tbody> 
    <tr> 
    <td><img class="img-thumbnail" src="./images/no_image.png" width="100" height="100"></td> 
    <td><button class="change_image" data-image_id="1">Change Image</button></td> 
    <td><input type="text" name="sort[]" size="7" placeholder="Sort order"></td>  
    </tr>  
    <tr> 
    <td><img class="img-thumbnail" src="./images/no_image.png" width="100" height="100"></td> 
    <td><button class="change_image" data-image_id="2">Change Image</button></td> 
    <td><input type="text" name="sort[]" size="7" placeholder="Sort order"></td>  
    </tr>  
    <tr> 
    <td><img class="img-thumbnail" src="./images/no_image.png" width="100" height="100"></td> 
    <td><button class="change_image" data-image_id="3">Change Image</button></td> 
    <td><input type="text" name="sort[]" size="7" placeholder="Sort order"></td>  
    </tr> 
</tbody> 

當點擊.change_image按鈕,它打開一個模式,以改變這種形象。

這是怎麼我的模式開:

$('#manage_images').on('click', '.change_image', function(){ 
    window.tr = $(this).parents('tr'); 
    var image_id = $(this).data("image_id") 

    $('#chage_pro_image_form') 
    .find('[name="image_id"]').val(image_id).end(); 

    $("#modal").modal({ 
    "backdrop" : "static", 
    "keyboard" : true, 
    "show"  : true 
    }); 
}); 

接下來的事情是我想提交表單(這是在模態)來改變這一形象。我這樣做是正確使用jquery/ajax

現在我要取代舊圖像與新改變阿賈克斯成功後,該錶行的形象。

這是我嘗試在ajax成功的功能:

success: function(json) { 
    var json = JSON.parse(json);   
    if (json.success) { 
    $('#modal.modal').modal('hide'); 
    $('#chage_pro_image_form').formValidation('resetForm', true); 

    d = new Date(); 
    window.tr.find('img').fadeOut(1000, function() { 
     $("img").attr("src", json.image+"?"+d.getTime()); 
    }).fadeIn(1000); 
    } else { 
    // my errors 
    } 
} 

我的問題是,它與更換新表中的所有現有圖像。我創建了一個全局變量window.tr。但它不適合我。

任何人可以幫助我想出解決辦法? 謝謝。

回答

2

使用this引用圖像例如動畫回調

window.tr.find('img').fadeOut(1000, function() { 
     $(this).attr("src", json.image+"?"+d.getTime()); 
}).fadeIn(1000); 
-2

嗯,顯然裏面的$(「IMG」)選擇將選擇所有IMG元素。您需要在某處存儲哪個按鈕作爲變量更改。例如通過指向data-image_id屬性。

$('[data-image_id='+image_id+']')

+1

OP已經有一排實例存儲 – charlietfl

+0

不需要令人感到諷刺的態度,這有什麼好做的問題 – DelightedD0D

+0

什麼尖刻的態度:然後你就可以使用選擇它? –