Я недавно задал вопрос об управлении html-полем выбора с помощью jQuery и получил этот действительно короткий и приятный код в качестве ответа.
$("#myselect").change(function (event) {
var o = $("#myselect option:selected"),
v=o.text(),
old = $("#myselect option:contains('name')"),
oldv = old.html();
oldv && old.html( oldv.replace('name: ', '') );
o.text('name: ' + v);
});
У меня есть одна проблема.Этот код не работает с несколькими категориями, и я не могу понять, как это можно сделать.Итак, я внес в него очевидные изменения:
$("select").change(function (event) {
var foo = $("select option:selected"),
bar = foo.text(),
cat = foo.parent().attr("label"),
old = $("select option:contains('" + cat + "')"),
oldbar = old.html();
oldbar && old.html( oldbar.replace(cat + ': ', '') );
foo.text(cat + ': ' + bar);
});
Теперь это работает для нескольких групп / категорий, но привело к другой ошибке.Более проблемный.
Это происходит при переходе из одной категории в другую.Проверьте это на jsFiddle .