まず、ドキュメントの準備ができているように見えます。$(document).ready(function(){});
のいずれかである必要があります。 または、$(function(){});
の場合もあります。 。
次に、JSONの結果をループするのも少し奇妙に見えます。代わりに次のようなものを試してください:
$.each(data.subjects, function(i, val){
$('select#item_2').append('<option value="' + val.id + '">' + val.name + '</option>');
});