使用Switch语句来更改值&根据预先存在的值为文本输入插入标签

Using a Switch Statement to change Values & Insert Labels for Text Inputs based on their preexisting values

本文关键字:存在 标签 插入 输入 文本 语句 Switch amp 使用      更新时间:2023-09-26

我想根据预先存在的值来确定一组特定的文本输入,并使用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>');
}

我确信这正是您所需要的: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;
  }
});

我真的不明白你为什么选择开关箱。在我看来,你最好使用一个循环,并使用它们的值插入一个标签,如下所示:(假设你使用的是jquery)

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