あなたは$()にすることもできます。テキスト()
$('#changeImage').change(function(){
var image = $(this);
var selectedIndex = image.prop('selectedIndex');
var optionName = $('option', this).eq(selectedIndex).text();
$('#image').prop('src', 'uploads/' + optionName);
});
それとも...
$('#changeImage').change(function(){
var image = $(this);
var selectedValue = image.val();
var optionName = $('option[value=' + selectedValue + ']').text();
$('#image').prop('src', 'uploads/' + optionName);
});
---- EDIT
なし(以下のような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>
OR ..使用trim()
$('#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);
});
それとも...(と)
$('#changeImage').change(function(){
var image = $(this);
var selectedValue = image.val();
var optionName = $('option[value=' + selectedValue + ']').text().trim(); // trim here!
$('#image').prop('src', 'uploads/' + optionName);
});
--- EDIT再び。
<?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>
ファイル名の前にはいくらか近いですが、私はたくさんの%20%20%20%20%20%20%20%20を受け取りました。 – Lotse
これをどのようにデコードできますか? – Lotse
スペースにはtrim()を使用してください( '' - %20 ASCIIコード用にエンコードされています)。 –