1. JavaScript / Говнокод #2552

    +156

    1. 1
    2. 2
    3. 3
    $('.value_field').bind('change', function() {
    	$('.' + $(this).attr('id')).val($(this).val());
    });

    Запостил: Говноговно, 05 Февраля 2010

    Комментарии (7) RSS

    • где говнокод?
      Ответить
    • В колдунской привязке класса к id '.' + $(this).attr('id'),
      что может быть признаком говна в верстке
      В .bind('change', f) вместо .change(f),
      что не то что бы особое говно
      Ответить
      • Ну еще $(this).attr('id') вместо this.id и $(this).val() вместо this.value. Совсем уже православный js забыли!
        Ответить
      • Ну, бинд имеет право на жизнь. Может раньше там было live. Ну и вообще) есть же он в апи.

        а класс через айди... ну почему нет? допустим есть набор выпадающих списков, каждый из них отвечает за несколько полей ввода, тогда у списка айди, а у полей ввода класс равный айди списка.
        Может не совсем изящное решение, но явно не худшее.
        Ответить
      • между bind('change' ...) и change() есть большая разница. Бинд универсален. Change в итоге все равно его вызывает.
        Ответить
    • Туповатое решение. Больше тут нечего сказать.
      Ответить
    • $('.value_field').bind('change.my_namespace', function() {
          var self = $(this);
      	$('.' + self.attr('id')).val(self.val());
      });

      Это к тому, зачем нужен бинд.
      Ответить

    Добавить комментарий