2014-04-27 73 views
0

我想根據它們預先存在的值針對特定的一組文本輸入,並替換它們的值並在它們之前使用switch語句。我遇到的唯一問題是針對單個輸入字段。我不確定要爲它們放入案例部分,以便腳本能夠識別它們並進行更改。使用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>'); 
} 

回答

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; 
    } 
}); 
-1

我真的不明白爲什麼你操作打開一個開關盒。在我看來,你最好使用循環並使用它們的值插入一個標籤(假設你正在使用jquery)

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