var semStr = $(this).text(sem);
собирается очистить ваш выбор.Я полагаю, что вы хотели сделать следующее:
var semStr = $(this).find("option:selected").text();
Это решит проблему, хотя вы, возможно, захотите рассмотреть изменение существующего параметра вместо создания нового.Добавление нового поместит его в конец списка.Примерно так:
$('select#graduationSemester').live("change", function() {
var $this = $(this);
var year = $('#graduationYear').val();
var sem = $this.val();
$this.find("option:selected").attr("value",year + sem);
});
http://jsfiddle.net/NWbXt/1