Ответ 1
$('option[value="4"]').attr('selected', 'selected').parent().focus();
Работает для меня. См. http://jsfiddle.net/TZVyh/1/
Когда я нажимаю кнопку "Выбрать", я обрабатываю событие "Изменено".
Я хочу, чтобы имитировать это в коде, и пусть он СМОТРЕТЬ ОЧЕНЬ, как когда пользователь нажимает на эту опцию.
Пока установка параметра "selected" в опции не выделяет его так же, как при нажатии на него.
Я могу вызвать "изменение" в опции и ударить моего обработчика, но опция в списке не выбрана так, как если бы щелкнул.
Предложения?
UPDATE: Код выбора запроса работает просто отлично - спасибо за ответы. Проблема была моя (конечно). У меня был код выбора за пределами Jquery.Ajax Success: block, поэтому я думаю, что он работал, но код ответа ajax его шёл.
$('option[value="4"]').attr('selected', 'selected').parent().focus();
Работает для меня. См. http://jsfiddle.net/TZVyh/1/
Я работал с jQuery datatable plugin ColumnFilterWidgets, и мне нужно было сделать следующее, чтобы выполнить действие фильтра (на основе ответов от elclanrs и Ben Foster):
$("option").attr('selected', 'selected').parent().focus();
$("option").parent().change();
$("option").attr("selected","selected");
выберет нужный вариант. После этого вы можете запустить событие.
и не забывайте очистить выбранный атрибут других параметров, используя:
$("option").attr("selected",null);
или
$("option").removeAttr("selected");
... но опция в списке не выбрана так, как если бы щелкнул.
Я не совсем понимаю, что вы пытаетесь сделать, но $('select').change()
работает подобно $('select option').click()
. В событии change
$(this).val()
указано значение выбранного параметра, а также в событии click
.
В любом случае вы можете выбрать опцию с помощью $('select[value="yourvalue"]').prop('selected', true);