2010-10-28 1 views
0

У меня есть выбор, который имеет несколько вариантов. Нет пустой опции.trigger ('change') выбирает 1-ю опцию, которую я не хочу

Перед не вызвав триггер ни один из вариантов выбраны, после он работает первый вариант заранее выбранный, и я хочу, чтобы выбрать, чтобы остаться, как это было, никакой вариант не выбран

$("#selProduct").trigger('change'); 

Как это исправить? Я все еще хочу вызвать изменение, чтобы запускать события, но я не хочу, чтобы был выбран первый вариант.

+0

Ну, я не уверен, что вы действительно ожидаете отсюда. Когда ваш обработчик «change» работает, проверяет состояние элемента управления? Что-то отображается в выбранном раскрывающемся списке? Если есть что-то, то оно выбрано. Выбранная по умолчанию опция всегда первая, если вы не настроили ее по-другому. – Pointy

+0

Я хочу, чтобы выбор был в неустановленном состоянии. Поэтому ни один из вариантов не выбран, даже первый. Мне нужно selectedIndex = -1; – Pentium10

ответ

1

Я думаю, что вы видите, является результатом DOM, как только он коснулся и будет зависеть от браузера (но selectedIndexдолжен быть 0 уже).

Это существо, сказал, использовать .triggerHandler() запустить только обработчик, например:

$("#selProduct").triggerHandler('change'); 

Для вашего вопроса, хотя, вы можете хранить что-то на <select> на загрузке страницы, что изменения когда он «тронут», например:

$("#selProduct").change(function() { 
    $.data(this, 'changed', false); 
    //do stuff 
}).data('changed', false); 
+0

Я использовал 'if ($ (" # selProduct "). Val> 0) { \t $ (" # selProduct "). Trigger ('change'); \t} ' – Pentium10