Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用JQuery中的链接值从下拉列表中显示图像_Javascript_Jquery_Html_Image_Drop Down Menu - Fatal编程技术网

Javascript 如何使用JQuery中的链接值从下拉列表中显示图像

Javascript 如何使用JQuery中的链接值从下拉列表中显示图像,javascript,jquery,html,image,drop-down-menu,Javascript,Jquery,Html,Image,Drop Down Menu,我只想在下拉列表中选择一个选项后显示正确的图像。如果选项值与显示值相同,我可以显示图像;但是,我不确定如何使用echo而不是值来显示。例如,如果选项值为1,文件名为image.jpeg,则图像源将为uploads/1,而不是uploads/image.jpeg Picturelist变量基本上是一个数组。因此,如果你说picturelist[1],你会得到var中的第一个链接 Picturelist变量基本上是一个数组。因此,如果你说picturelist[1],你会得到变量中的第一个链接。你可

我只想在下拉列表中选择一个选项后显示正确的图像。如果选项值与显示值相同,我可以显示图像;但是,我不确定如何使用echo而不是值来显示。例如,如果选项值为1,文件名为image.jpeg,则图像源将为uploads/1,而不是uploads/image.jpeg

Picturelist变量基本上是一个数组。因此,如果你说picturelist[1],你会得到var中的第一个链接

Picturelist变量基本上是一个数组。因此,如果你说picturelist[1],你会得到变量中的第一个链接。

你可能想要$.text

$('#changeImage').change(function(){
  var image = $(this);
  var selectedIndex = image.prop('selectedIndex');
  var optionName = $('option', this).eq(selectedIndex).text();
  $('#image').prop('src', 'uploads/' + optionName);
});
或者

--编辑

请编辑PHP代码,如下所示,无空格

<select class = "form-control" id="changeImage" onChange="changeImage" name="changeImage">
   <option disabled selected value> -- select an image -- </option> 
        <?php
           foreach($images as $imagedrop){
         ?><option value="<?php echo $imagedrop['id'] ?>"><?php echo $imagedrop['filename'] ?></option>
         <?php
            }
         ?>
</select>  
<script>           
  $('#changeImage').change(function(){
      $('#image')[0].src= 'uploads/'+this.value;
  });
</script>
或者。。及

$('#changeImage').change(function(){
  var image = $(this);
  var selectedValue = image.val();
  var optionName = $('option[value=' + selectedValue + ']').text().trim(); // trim here!
  $('#image').prop('src', 'uploads/' + optionName);
});
--再次编辑

<?php
  $options = array();
  foreach($images as $imagedrop) {
    $options[] = sprintf('<option value="%d">%s</option>', $imagedrop['id'], $imagedrop['filename']);
  }
?>
<select class = "form-control" id="changeImage" onChange="changeImage" name="changeImage">
   <option disabled selected value> -- select an image -- </option> 
   <?php echo implode('   \n' /* for bueaty html source, use '' */, $options); ?>
</select>  

<script>           
  $('#changeImage').change(function(){
    var image = $(this);
    var selectedIndex = image.prop('selectedIndex');
    var optionName = $('option', this).eq(selectedIndex).text().trim(); // trim here!
    $('#image').prop('src', 'uploads/' + optionName);
  });
</script>
您可能需要$.text

$('#changeImage').change(function(){
  var image = $(this);
  var selectedIndex = image.prop('selectedIndex');
  var optionName = $('option', this).eq(selectedIndex).text();
  $('#image').prop('src', 'uploads/' + optionName);
});
或者

--编辑

请编辑PHP代码,如下所示,无空格

<select class = "form-control" id="changeImage" onChange="changeImage" name="changeImage">
   <option disabled selected value> -- select an image -- </option> 
        <?php
           foreach($images as $imagedrop){
         ?><option value="<?php echo $imagedrop['id'] ?>"><?php echo $imagedrop['filename'] ?></option>
         <?php
            }
         ?>
</select>  
<script>           
  $('#changeImage').change(function(){
      $('#image')[0].src= 'uploads/'+this.value;
  });
</script>
或者。。及

$('#changeImage').change(function(){
  var image = $(this);
  var selectedValue = image.val();
  var optionName = $('option[value=' + selectedValue + ']').text().trim(); // trim here!
  $('#image').prop('src', 'uploads/' + optionName);
});
--再次编辑

<?php
  $options = array();
  foreach($images as $imagedrop) {
    $options[] = sprintf('<option value="%d">%s</option>', $imagedrop['id'], $imagedrop['filename']);
  }
?>
<select class = "form-control" id="changeImage" onChange="changeImage" name="changeImage">
   <option disabled selected value> -- select an image -- </option> 
   <?php echo implode('   \n' /* for bueaty html source, use '' */, $options); ?>
</select>  

<script>           
  $('#changeImage').change(function(){
    var image = $(this);
    var selectedIndex = image.prop('selectedIndex');
    var optionName = $('option', this).eq(selectedIndex).text().trim(); // trim here!
    $('#image').prop('src', 'uploads/' + optionName);
  });
</script>

抱歉,我忘了提到我试图调用的图像来自一个名为image的数据库,我希望this.value是这样的。echo如果每个imagedrop都来自一个数据库,它可能有一个URL,因此如果您给option元素的值URL,您可以这样更改它。option值必须是一个int值,表示图像表的主键。我想将下拉列表中的echo文件名调用为img src URL抱歉,我忘了提到我试图调用的图像来自一个名为image的数据库,我希望this.value是这样的。echo如果每个imagedrop都来自一个数据库,那么它可能有一个URL,因此如果您给option元素的值一个URL,您可以这样更改。选项值必须是表示图像表主键的int值。我想调用下拉列表中的echo'd文件名到img src URL它有点接近,我在文件名之前收到了很多%20%20%20%20%20%20%20%20%20%20%20%20。使用空间修剪“”-为%20 ASCII代码编码。感谢大家,它工作了,在optionName之后添加了。修剪修复了它:它有点接近,我在文件名之前收到了大量%20%20%20%20%20%20%20%20%20%20%20。请对空格“”使用修剪-对%20 ASCII代码进行编码。感谢大家,它起了作用,添加了。optionName之后的修剪修复了它: