изменение размера изображения в соответствии со значением поля выбора - PullRequest
0 голосов
/ 15 марта 2012

У меня есть поле выбора, в котором есть такие параметры, как ширина X высота формата.При выборе ширины и высоты, я должен сделать изображение ниже (в div 'other') в соответствии с этим размером.Я попробовал следующий код:

<script src="http://test/sites/js/jquery-1.4.2.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $('.target').change(function() {
            $value=document.getElementById('target').value;
            var myArray = $value.split('X'); 
            document.getElementById('other').innerHTML = '<img src="http://test/sites/all/themes/artsy/images/images2.jpeg" width="myArray[0]" height="myArray[1]">';
        });
    });
</script>
<form>
    <select class="target" id="target">
        <option value="20 X 30" selected="selected">20 X 30</option>
        <option value="100 X 150">100 X 150</option>
    </select>
</form>
<div id="other"> 
    <?php echo $value; ?> <img src="http://test/sites/all/themes/artsy/images/images2.jpeg">
</div>

Ответы [ 5 ]

1 голос
/ 15 марта 2012

HTML

<select name="something" id="resoultion">
  <option value="100_200">100 X 200</option>
  <option value="200_400">200 X 400</option>
  <option value="300_600">300 X 600</option>
</select>
<img src="img.jpg" id="imageID" alt="" />

JQuery

$('#resoultion').change(function() {
 var resolution = $(this).val().split('_');
 var width = resolution[0];
 var height = resolution[1];

 $('#imageID').css({
  width: width,
  height: height
 });
});
1 голос
/ 15 марта 2012
<script>
$(document).ready(function() {
    $('.target').change(function() {
        var pVal = $('#target').val();
        var myArray = pVal.split(' X '); // Note the extra spacing.
        $('#other').html('<img src="http://test/sites/all/themes/artsy/images/images2.jpeg" width="'+myArray[0]+'" height="'+myArray[0]+'">');
    });
});
</script>

Of course, you'll find it easier to do the actual update like this:
    $('#other img').attr('width',myArray[0]).attr('height',myArray[1]);
1 голос
/ 15 марта 2012

выглядит хорошо. Не о чем говорить, кроме того факта, что вы не объявляете пиксели и неправильно ссылаетесь на переменные JavaScript. Вам нужно изменить свойства ширины и высоты на что-то вроде этого ->

width="'+myArray[0]+'px" 
height="'+myArray[1]+'px"

Это должно сделать это.

1 голос
/ 15 марта 2012

Немного изменив существующий код, попробуйте это с помощью функции jQuery ".attr":

    $('.target').change(function() {
    $value=document.getElementById('target').value;
    var myArray = $value.split('X');
    $('#other').attr("width",myArray[0]);
    $('#other').attr("height",myArray[1]);
1 голос
/ 15 марта 2012

Я изменил ваш код JavaScript

 $(document).ready(function() {
$('.target').change(function() {
  $value=document.getElementById('target').value;
var myArray = $value.split('X'); 
document.getElementById('other').innerHTML = '
<img src="http://test/sites/all/themes/artsy/images/images2.jpeg" width="'+myArray[0]+'px" height="'+myArray[1]+'px ">';


});
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...