jQuery onchange / onfocus выберите поле для отображения изображения? - PullRequest
9 голосов
/ 12 июня 2009

Мне нужна помощь в поиске плагина jQuery, который позволит мне отображать предпросмотр изображения из выбранного списка изображений - onfocus / onchange.

Пример:

<select name="image" id="image" class="inputbox" size="1">
   <option value=""> - Select Image - </option>
   <option value="image1.jpg">image1.jpg</option>
   <option value="image2.jpg">image2.jpg</option>
   <option value="image3.jpg">image3.jpg</option>
</select>

<div id="imagePreview">
   displays image here
</div>

Кто-нибудь сталкивался с чем-то подобным? Я пытался найти его безрезультатно ..

Спасибо!

Ответы [ 5 ]

25 голосов
/ 12 июня 2009

Я не уверен, что вам нужен плагин для решения этой проблемы:

$(document).ready(function() {
    $("#image").change(function() {
        var src = $(this).val();

        $("#imagePreview").html(src ? "<img src='" + src + "'>" : "");
    });
});
4 голосов
/ 12 июня 2009

Я не думаю, что есть плагин для этого, но это довольно тривиально, чтобы "вручную"

$(document).ready(function(){
    $('#image').change(function(){
            $('#imagePreview').html('<img src="'+$('#image').val()+'"/>');
    });
});

Вы должны добавить проверку для несуществующих изображений и тому подобное. Ваш пробег может варьироваться. и т.д.

2 голосов
/ 12 июня 2009

Вам действительно нужен плагин?

Будет ли работать что-то простое, как показано ниже?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>JQuery Image</title>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
 $(document).ready(function() {
   $("#image").change(function() {
     $("#imagePreview").empty();
     if ( $("#image").val()!="" ){
        $("#imagePreview").append("<img src=\"" + $("#image").val()  + "\" />");
     }
     else{
        $("#imagePreview").append("displays image here");
     }
   });
 });
</script>
</head>
<body>
<select name="image" id="image" class="inputbox" size="1">
   <option value=""> - Select Image - </option>
   <option value="image1.jpg">image1.jpg</option>
   <option value="image2.jpg">image2.jpg</option>
   <option value="image3.jpg">image3.jpg</option>
</select>

<div id="imagePreview">
   displays image here
</div>


</body>
</html>
1 голос
/ 01 октября 2011

Альтернативный метод с AJAX. Я не проверял, но гуглил по теме. Вот некоторые заметки:

http://forums.asp.net/t/1107236.aspx

Серверный

response.contentType('image/jpeg');
response.binaryWrite(imageBytes); 

Отображение содержания объявления из Respose.WriteFile () / Response.ContentType

http://www.dotnetperls.com/response-writefile

Response.WriteFile usage:           10.680 s
Byte[] cache, Response.BinaryWrite:  0.094 s
0 голосов
/ 23 ноября 2012

Я делюсь здесь чистой версией javascript, чтобы изменить изображение, используя выпадающий список: -

<html>
<head>
<title></title>
<script language="JavaScript" type="text/javascript">
var Path='http://www.domainname.com/images/';
function CngColor(obj){
index=obj.selectedIndex;
if (index<1){ return; }
document.getElementById('Img1').src=Path+obj.options[index].value;
}

</script></head>
<body>

<select onchange="CngColor(this);" >
<option >Select</option>
<option value="Zero.gif" >Zero</option>
<option value="One.gif" >1</option>
<option value="Two.gif" >2</option>
<option value="Three.gif" >3</option>
<option value="Four.gif" >4</option>
</select>

<img id="Img1" src="http://www.domainname.com/images/Blank.gif" width=100 height=100 >

</body>
</html>
...