This is because there is no code that will do this in the Magento core. The controller that does the product save action is in the file app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php. Here you will find the code snippet.
All this is doing is setting the options on the product option and doing no image upload.
Then when you look at app/code/core/Mage/Catalog/Model/Product.php there is the function _beforeSave this function does the actual processing on options before saving them. What it does is loops through all the options and then adds them.
$this->getOptionInstance()->addOption($option);
So there is no code for uploading images or even saving them against the option itself. You will need to extend the options table to add your custom item, or use a custom model for storing option images.
Then what I would suggest is to listen to the admin event catalog_product_prepare_save. This is fired after the options are set on the product. It has the product object and the request. You can use this event to perform the actual image upload and then update the product object if you need to.
And you can see changes (the Store View Test column):
Change it to the desired one. But keep in mind, that this field just rendered in the layout, but to do save and load your custom data you should write a custom plugin code which can do this during the model load and save process.
Best Answer
This Dropdown options render from getMetadataValues() function which is available in
Magento\SalesRule\Model\Rule\Metadata\ValueProvider.php
So, You can create plugin for that because, it's public method. I created plugin for that and get output as like you want.
Follow this below steps for that :
1) Create di.xml to set plugin at
app/code/RH/CustomPlugin/etc/adminhtml
:2) Now, create plugin file ValueProvider.php for add custom option for dropdown at
RH\CustomPlugin\Plugin\Rule\Metadata
:Output :
You can modify option in array as you want.
Hope, it will helpful for you.