2016-04-05 18 views
0

Eşleşme yerine 2 seçim kutusuyla eşleşen bir resim elde etmeye çalışıyorum ancak eşleşme yerine bir img şovu yok.Bir resim bulun ve bunun yerine başka bir tane bulmaya çalışın

$(document).on('click', '#buton', function() { 

     $se1 = $('#se1 option:selected').text(); 
     $se2 = $('#se2 option:selected').text(); 
     var image = "'./img/' + $se1 + $se2 + '.jpg'"; 

     if ($(this).attr('src', './img/' + $se1 + $se2 + '.jpg').length > 0){ 
     $('#imge').attr('src', './img/sa.jpg'); 
     } else { 
     $('#imge').attr('src', './img/' + $se1 + $se2 + '.jpg'); 
     } 

}); 
+0

Durumu kontrol etmek için 'asd' (???) niteliğini ayarlıyorsunuz. Senin kodun veya senin sorunun bana mantıklı gelmiyor. –

+0

Burada görüntünün sunucuda olup olmadığını kontrol etmeyi denemek istediğinizi daha iyi tarif etmelisiniz? ve değilse, geçici bir görüntü gösterilsin mi? – S4beR

+0

yes @ S4beR Farklı şeyler denemekten özür dilerim bunu değiştirmeyi unuttum. bunu deniyorum; 1 açılır-bırakma 2- düşme Bu maçta bir görüntü varsa at ormanı gösterir, ancak sa.jpg'den daha fazla görüntü yoksa. – Crosss

cevap

0

Sen (documentation here) kontrol edebilirsiniz daha referans için

$('#image').attr('src', './img/' + $se1 + $se2 + '.jpg'); 

$('#image').on("error", function() { 
    $('#image').attr('src', './img/sa.jpg'); 
}); 

çek bu plnkr örnek aşağıdaki gibi img ait onerror olayını kullanabilirsiniz :

$(document).on('click', '#buton', function() { 
    var imageUrl; 
    var imageElement = $('#imge'); 

    $se1 = $('#se1 option:selected').text(); 
    $se2 = $('#se2 option:selected').text(); 
    imageUrl = './img/' + $se1 + $se2 + '.jpg'; 

    $.get(imageUrl) 
    .done(function() { 
     imageElement.attr('src', imageUrl); 

    }).fail(function() { 
     imageElement.attr('src', './img/sa.jpg'); 
    }); 
}); 
İlgili konular