2017-07-25 8 views
0

jqueryで連絡先フォームのフィールドを変更したいと思います。 これは通常のコードです:jqueryでフィールドを変更する

<label for="avia_3_1">Nome <abbr class="required" title="Richiesto">*</abbr></label> 

これは私が使用しているjqueryです。私はコンボボックスを持っている、ラベルの名前は、ユーザーが選択した項目に基づいて変更する必要があります。それは動作しますが、タグ<abbr>は消えます。あなたの<abbr>タグが<label>タグ内にあるためです

//$.noConflict(); 
jQuery(document).ready(function($) { 
$("#avia_1_1").change(function(){ 
    switch($("#avia_1_1").val()){ 
     case "Privato": 
      $("label[for='avia_3_1']").text("Nome"); 
      $("abbr[title='Richiesto']").text("*"); 
     break; 

     case "Azienda": 
      $("label[for='avia_3_1']").text("Ragione Sociale"); 
      $("abbr[title='Richiesto']").text("*"); 
     break; 
    } 
}); 
}); 
+0

... $( "[= 'avia_3_1' の]ラベル")、テキスト( "ノーム")。 – Roy

+0

このテキストを変更するにはどうすればよいですか? –

+0

私のaswerをチェックしてください... – Roy

答えて

1

あなたは.html()代わりの.text()を使用することができます。略称が削除された理由です。..

//$.noConflict(); 
jQuery(document).ready(function($) { 
    $("#avia_1_1").change(function(){ 
     switch($("#avia_1_1").val()){ 
      case "Privato": 
       $("label[for='avia_3_1']").html('Nome<abbr class="required" title="Richiesto">*</abbr>'); 
      break; 

      case "Azienda": 
       $("label[for='avia_3_1']").html('Ragione Sociale<abbr class="required" title="Richiesto">*</abbr>'); 
      break; 
     } 
    }); 
}); 
+0

これは完璧に動作します、ありがとう! –

0

。変更イベントごとに<abbr>を作成する必要があります。以下は、使用できるサンプルコードです:

jQuery(document).ready(function($) { 
    $("#avia_1_1").change(function() { 
    switch ($(this).val()) { 
     case "Privato": 
     $("label[for='avia_3_1']").text("Nome"); 
     $("abbr[title='Richiesto']").text("*"); 
     break; 

     case "Azienda": 
     $("label[for='avia_3_1']").text("Ragione Sociale"); 
     $("abbr[title='Richiesto']").text("*"); 
     break; 
    } 
    $('<abbr />', { 
     "class": 'required', 
     'title': 'Richiesto' 
    }).appendTo($(this)); 
    }); 
}); 
0

以下の更新されたスクリプト... $("label[for='avia_3_1']").text("Nome")を確認してください。
これを試してみてください:

$("label[for='avia_3_1']").html("Nome <abbr class='required' title='Richiesto'>*</abbr>"); 
0

の.text( "")は要素の内容を削除しますので、それが削除されました。

これを試すことができます。

$("label[for='avia_3_1']").html('Nome'+ '<abbr class="required" title="Richiesto">*</abbr>'); 
0
$("#avia_1_1").change(function(){ 
switch($("#avia_1_1").val()){ 
    case "Privato": 
     $("label[for='avia_3_1']").html('Nome <abbr class="required" title="Richiesto">*</abbr>'); 
    break; 

    case "Azienda": 
     $("label[for='avia_3_1']").html('Ragione Sociale <abbr class="required" title="Richiesto">*</abbr>'); 
    break; 
} 
}); 
0

ラベルの値を変更しているとして、それは略称を削除選択した値と略称や更新プログラムを削除して、略称は、ラベルの内側にあります。略称が削除された理由です

<select id="avia_1_1" name="test"> 
    <option value="Privato">Privato</option> 
    <option vaue="Azienda">Azienda</option> 
</select> 

<label for="avia_3_1">Nome </label> 
<abbr class="required" title="Richiesto">*</abbr> 

jQuery(document).ready(function($) { 
$("#avia_1_1").change(function(){ 
    switch($("#avia_1_1").val()){ 
     case "Privato": 
      $("label[for='avia_3_1']").text("Nome"); 
      $("abbr[title='Richiesto']").text("*"); 
     break; 

     case "Azienda": 
      $("label[for='avia_3_1']").text("Ragione Sociale"); 
      $("abbr[title='Richiesto']").text("*"); 
     break; 
    } 
}); 
}); 

Working Demo

関連する問題