Коллеги, добрый день!
Прошу помощи в решении вопроса корретной работы при выборе элемента в динамическом <select>.
Пишу, на Java, поэтому многих вопросов по JavaScript просто не понимаю.
У меня на jsp странице есть таблица 'plan-table', часть столбцов таблицы нередактируемая...
По клику на редактируемой ячейке, в этой ячейке должен появляться выпадающий список сокращённых названий(абревиатур).
текст в ячейке таблицы принимает значение выбранного элемента из списка. Это как хотелось бы, что бы так работало...
На деле, выпадающий список по клику появляется, но выбрать элемент мышкой и присвоить это значение ячейке не получается.
Правда, можно кликнуть по ячейке до появления кнопки выпадения списка и стрелками вверх вниз осуществить выбор элемента из списка и присвоение его ячейке.
Вот код который так работает. Подскажите, что нужно подправить для корректной работы выбора элемента.
<script language="javascript">
$(function () {
$('table#plan-table td').click(function (e) {
var t = e.target || e.srcElement;
var elm_name = t.tagName.toLowerCase();
if (elm_name == 'input') {return false;}
if (this.className == 'info') {return false;}
var code = '<select name="object" id="edit"><c:forEach items="${listAbreviatures}" var="listAbreviature"><option>${listAbreviature}</option></c:forEach></select>';
$(this).empty().append(code);
$('#edit').focus();
$('#edit').blur(function () {
var val = $("#edit :selected").val();
$(this).parent().empty().html(val);
});
});
$(window).keydown(function (event) {
if (event.keyCode == 13) {
$('#edit').blur();
}
});
});
</script>