2016-02-03 2 views
0

У меня есть несколько выбирает, позволяющие капитанам выбрать позиции для своих игроковJQuery выбрать на фокус заполнителем/Val («»)

$('.select_role').on('focus',function(){ 
      console.log("Test"); 
}) 

$('.select_role').on('change',function(e){   
    $.ajax({ 
     url : './tournaments/hub/save_roster.php', 
     type :'POST', 
     data : { 
      role_id : $(this).data('role'), 
      tournament_id : '<?php echo $tournament_id;?>', 
      team_id : '<?php echo $team_id;?>', 
      user_id : $(this).val() 
      }, 
     success : function(res){ 
      res = jQuery.parseJSON(res); 
      if(res.result == 0){ 
       toastr.warning(res.resp);      
      } 
      if(res.result == 1){ 
       toastr.success(res.resp); 
      } 
     } 
    }) 
}) 

На сообщение об ошибке от моего сценария сервера, выберите должен вернуться к перед тем, как пользователь изменил его.

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

Откат назад тоже невозможно, используя линию как этот

var ele = $(this) 
ele.val(""); 

выбрать себе имеет значение = «0» в качестве опции

Что я делаю неправильно?

ответ

0

Вы не можете использовать $ this значение в области, которую вы используете. $ это в вашем коде будет относиться не к элементу select. Попробуйте:

var ele = $('.select_role') 

Это может быть также умное решение, чтобы остановить распространение события, как будто вы находитесь в OnChange, и вы что-то изменить, так что будет стрелять OnChange снова и так далее, и так далее до бесконечности.

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