Скрипт, которым Вы пользуетесь действительно ограниченный. Удивительно, что автор не предусмотрел элементарные вещи связанные с событиями.. Я поступил весьма прозаично в аналогичном случае:
в самом скрипте дописал две строки
//устанавливаем для выбранного элемента
//класс srSelectedLi
ul.childNodes[li.srIndex].className = 'srSelectedLi';
if(window.srSelectCallBack)srSelectCallBack(ul.srSelect, li.srValue); // добавленная строка
//в каждом элементе списка
//храним индекс соответствующего
//элемента option
li.srIndex = i;
li.srValue=options[i].value; // добавленная строка
Ну и при необходимости уже в собственном коде определяем обработчик и получаем нужный функционал:
function srSelectCallBack(oSelect,xValue){
console.log($(oSelect).val());
} // srSelectCallBack