Your HTML was invalid, even in your jsFiddle. Your IDs were not unique for your inputs.
But to make it work, first I changed the IDs of the inputs to be unique and gave each select a class:
<select name="select" id="dropdown_1" class="Dropdown">
...
</select>
<input type="text" id="remap_value1" name="out[]" />
<br />
<select name="select" id="dropdown_2" class="Dropdown">
...
</select>
<input type="text" id="remap_value2" name="out[]" />
This will make the selector in jQuery to be much more efficient than the convoluted CSS-based selector you currently have.
Then I modded the jQuery to be hyper-efficient:
$(function(){
$('.Dropdown').on('change', function(){
$(this).next().val($(this).val());
})
});
To quickly explain the changes to the jQuery:
you were double-encapsulating your jQuery, $(function(){ is shorthand for $(document).ready({function(){
I made use of .on() instead of .live(), as live is now deprecated
I accessed the class Dropdown I created to bind the change event
I used .next() to go to the next HTML element on the same level of the DOM tree as the select item that changed
I used $(this).val() when plugging in the new text value, avoiding unneeded variable caching
As you can see, with this method you don't even need to have IDs for the inputs that follow, unless you were accessing them for another purpose.
If you were worried about conflicts with another dropdown, you could easily incorporate .not() into the selector:
$(function(){
$('.Dropdown').not('.ui-dropdown_').on('change', function(){
$(this).next().val($(this).val());
})
});
This is actually the preferred use of not instead of the CSS usage, per the jQuery documentation.
jsFiddle to show changes and working example
#select1, and only gets the first one.