<script src="http://code.jquery.com/jquery-latest.js"></script>
<div id="formcontainer">
<p class="superform">
<label for="2">инпут 2</label><br />
<input id="2" type="text" name="label[]" value="текст из инпута 2" ../> <!-- название работы которая идет в список (select) -->
<select multiple name="parent[]">
<option disabled>выбор из уже описанных инпутов</option>
<option value="1">текст из инпута 1</option>
<option value="3">текст из инпута 3</option>
</select>
</p>
<p class="superform">
<label for="3">инпут 3</label><br />
<input id="3" type="text" name="label[]" value="текст из инпута 3" ../> <!-- название работы которая идет в список (select) -->
<select multiple name="parent[]">
<option disabled>выбор из уже описанных инпутов</option>
<option value="1">текст из инпута 1</option>
<option value="2">текст из инпута 2</option>
</select>
</p>
<p class="superform">
<label for="4">инпут 4</label><br />
<input id="4" type="text" name="label[]" value="текст из инпута 4" ../> <!-- название работы которая идет в список (select) -->
<select multiple name="parent[]">
<option disabled>выбор из уже описанных инпутов</option>
<option value="2">текст из инпута 2</option>
<option value="3">текст из инпута 3</option>
<option value="4">текст из инпута 4</option>
</select>
</p>
<!-- и так далее до бесконечности -->
</div>
<script>
$(document).ready(function(){
function PresetTxtOpt(){
var a = 'parent[]';
$("p.superform select[name='"+a+"'] option").each(function(i){
if(!$(this).parent().find('option').index(this)){return true;}
var ID=$(this).val();
var TxtOpt=$("p.superform input[id='"+ID+"']").val();
if(TxtOpt)TxtOpt=TxtOpt.replace(/^\s*/g,'');
if(TxtOpt){
$(this).removeAttr('disabled');
$(this).text(TxtOpt);
}
var txt = '(не найден/не заполнен)';
if(!TxtOpt){
$(this).text($(this).text().replace(txt,'')+txt);
$(this).attr('disabled',true);
}
});
} PresetTxtOpt();
$("p.superform select").change(function(){
PresetTxtOpt();
});
$("p.superform input").bind('input keyup mouseup',function(){
PresetTxtOpt();
});
});
</script>