select 要素を選択し、非表示要素に値を書き込むようにしています。
しかし、私の jquery コードが機能しない理由がわかりません。コンソールでもエラーが発生しません。
$('#subject').change(function() {
   $("#sub_id").val($(this).val());
})
<select id="subject">
    <option value="">Select</option>
    <option value="1">English</option>
    <option value="2">Science</option>
    <option value="3">Math</option>
</select>
<input type="hidden" class="sub_id" name="subjectId" />