Атрибут keyup 'name' не работает - PullRequest
0 голосов
/ 17 мая 2010

Эй, ребята, у меня есть простой вопрос, но я почему-то не могу заставить его работать правильно.

Ожидаемое поведение: Я набираю символы в поле, и через функцию эти символы переводятся в значение атрибута HTML name.

Фактическое поведение: Отражено в Firebug, значение не изменяется и не обновляется.

Код:

$('input').live('keyup', function() {
    var name_value = $(this).val().toLowerCase();
    $(this).attr('name', name_value);
});

Просто примечание: я использую .live(), потому что элемент можно клонировать, и эти клоны также должны иметь возможность принимать свойства этого события .keyup.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 17 мая 2010

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

Самый простой способ проверить это: .serialize() <form> и посмотреть, что вы получите, для отладки и просмотра сделайте следующее:

$("form").submit(function() {
    alert($(this).serialize());
    return false;
});

Вы можете увидеть рабочую демонстрацию здесь , работает в Chrome, FireFox и IE8.

0 голосов
/ 17 мая 2010

в большинстве случаев вы должны поместить функцию die () перед началом работы, чтобы она убила любую предыдущую функцию ... поэтому ваш код должен выглядеть как

$('input').die().live('keyup', function() {
        var name_value = $(this).val().toLowerCase();
        $(this).attr('name', name_value);
    });

Надеюсь, это поможет вам.

...