2012-05-25 3 views
0

Надеюсь, кто-то может помочь мне здесь.Странный javascript/jquery issue

У меня есть страница, которая отображает список пользователей в модальном всплывающем окне. Доступ к этой странице можно двумя способами: одним из способов выбора неутвержденных пользователей, и откроется страница, иначе вы выберете учетные записи пользователей, которые откроют всплывающее окно с вопросом, есть ли у вас критерии поиска, такие как имя, как только вы закончите вы выполняете поиск и отображает страницу пользователей.

У меня есть кнопка на форме для очистки любых фильтров. Когда я запускаю его на странице «Неутвержденные пользователи», он очищает поле в порядке, однако, если я делаю это в форме, с другой стороны, код не будет пустым текстовым полем, и когда я попробую оповещение, он не покажет никаких данных. Где, как предупреждение работает на Unapproved route!

Вот JQuery, что я использую:

clear: function() { 
     //reset filters// 
     $('.usersFilterList li').remove(); 
     $('.userFilterSelect option').show(); 

     $('#UserFilter_SearchTermIncluded').attr('value', ''); // This line doesn't seem to work properly 

     alert($('#UserFilter_SearchTermIncluded').attr('value')); 

     //hide filter options 
     MSG.showNHide('', '#usersFilterBox'); 

     //reset modal control buttons 
     $('#usersButSaveFilter,#usersButClearFilter').hide(); 
     $('#usersButFilter').fadeIn(); 

     usersFilter.refresh(0); 
    } 

Может кто-нибудь увидеть, если я делаю что-нибудь глупое? Как я уже сказал, это точно такая же форма, вызванная тем же действием MVC, что и другое всплывающее окно между ними.

Извинения, если это сбивает с толку, я не могу опубликовать больше кода, я боюсь. Я могу заверить вас, что идентификатор текстового поля является правильным.

Любые советы здесь были бы оценены как я смотрел на нее в течение нескольких часов теперь ...

Cheers, Gareth

Если я правой кнопкой мыши второй вариант и запустить в новой вкладке и запустить что сначала появится как полная страница, тогда код будет работать! Таким образом, проблема состоит в том, что есть два всплывающих окна.

решаемых

Я нашел работу вокруг моих, спасибо за вашу помощь.

Я просто назначить класс и искали любые предметы с этим классом и очистил его так:

$('.jq-clearme').val(''); 

Я закончу это, когда я могу. Я еще не допущен из-за слишком низкого уровня репутации.

ответ

0

Я нашел работу самостоятельно, спасибо за вашу помощь.

Я просто назначить класс и искали любые предметы с этим классом и очистил его так:

$('.jq-clearme').val(''); 

Я закончу это, когда я могу. Я еще не допущен из-за слишком низкого уровня репутации.

2

Чтобы изменить значение элемента (или получить его), доступ к атрибуту - неправильный путь - он не синхронизирован в обоих направлениях. Что вы хотите, это недвижимость. В то время как также через .prop('value'[, newvalue]) правильный способ получить/установить его с помощью jQuery - .val([newvalue]).

Чтобы очистить значение элемента используйте следующее:

$('#UserFilter_SearchTermIncluded').val(''); 

Чтобы извлечь/показать его, используйте

alert($('#UserFilter_SearchTermIncluded').val()); 
+0

Спасибо за ваш совет, но, к сожалению, он делает то же самое, работает на первом маршруте, но не на втором. –

+0

Можете ли вы предоставить минимальный тест на jsfiddle, который демонстрирует вашу проблему? – ThiefMaster

+0

Если бы у меня была какая-то подсказка, как использовать это, я уверен, что смогу, к сожалению, у меня нет подсказки :( –

0

Вы должны использовать val(), чтобы получить/установить значение входного сигнала.

Использование без параметров, чтобы получить значение:

$('#UserFilter_SearchTermIncluded').val(); 

А с В параметре установлено значение, в этом случае установить его ни к чему:

$('#UserFilter_SearchTermIncluded').val(''); 
+0

Спасибо за ваш совет, но, к сожалению, он делает то же самое, работает на первом маршруте, но не на втором. –

0

Есть ли Ajax вызов участие которых может быть загружен Javascript, который вы отправили дважды, и, следовательно, при вызове второго раза (после вызова ajax) он находит конфликт?

Как уже упоминалось, лучше всего использовать .val(''), чтобы установить значение и .val(), чтобы получить значение. Проверьте в firebug, если есть ошибки Javascript.

+0

ajax включен да, так что это может быть что-то вроде этого. Firebug не показывает никаких ошибок. –

Смежные вопросы