Использование оператора Switch для изменения значений и вставки меток для текстовых входов на основе их ранее существующих значений

0

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

HTML

<input id="firstname" type="text" value="firstname"></input>
<input id="lastname" type="text" value="lastname"></input>
<input id="email" type="text" value="email"></input>

Javascript

var form = $('input[type="text"]');

switch (form) {
    case 
        $('form').attr('value', 'First Name').insertBefore('<label for=\"firstname\">First Name</label>');
    case 
        $('form').attr('value', 'Last Name').insertBefore('<label for=\"lastname\">Last Name</label>');
    case 
        $('form').attr('value', 'Email').insertBefore('<label for=\"email\">Email Address</label>');
}
Теги:
forms

2 ответа

1
Лучший ответ

Я почти уверен, что это то, что вам нужно: http://jqversion.com/#!/Rskx1fa/1

$('input[type="text"]').each(function(){
  switch($(this).attr('id')) {
    case 'firstname':
      $('<label for="firstname">First Name</label>').insertBefore($(this));
      $(this).val('First name');
      break;

    case 'lastname':
      $('<label for="lastname">Last Name</label>').insertBefore($(this));
      $(this).val('Last name');
      break;
  }
});
-2

Я действительно не понимаю, почему вы выбрали корпус коммутатора. Кажется мне лучше использовать цикл и вставить метку, используя их значение как таковое: (предполагая, что вы используете jquery)

$('input[type="text"]').each(function(){
$(this).insertBefore('<label for="'+ $(this).attr('name') + '">' + $(this).val() + '</label>');
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню