понедельник, 14 сентября 2009 г.

jQuery решает проблему select-to-input

Джефри Олчовый разместил постой способ про использование jQuery для решения проблемы selet-to-input. Способ заключается в том, чтобы показывать или прятать текстовое поле, когда вы выбираете вариант "Другой". Оно использует то же название поля, так что сервер получает только одно значение, и не парится о том было ли оно выбрано в select-е, или введено в поле.

$(document).ready(function(){
  $('.leader').each(function(){
    var name = $(this).attr('name');
    if($(this).val()!='other'){
      $(this).next().removeAttr('name').hide();
    }
  });

  $('.leader').change(onChange);

  function onChange(){
    var desiredName = $(this).attr('name');
    if($('#'+desiredname).val()=='other'){
      $('#'+desiredname).next().attr('name',desiredName).fadeIn('fast');
    }else{
      $('#'+desiredname).next().removeAttr('name').fadeOut('fast');
    }
  }
});