2017-07-25 80 views
0

我想用jquery更改一些聯繫表單字段。 這是正常碼:用jquery更改字段

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

這就是我使用jQuery。我有一個組合框,標籤的名稱應根據用戶選擇的項目進行更改。它可以工作,但標籤<abbr>消失。

//$.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>標籤是<label>標籤內。您必須在每次更改事件時創建<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

這就是爲什麼刪除abbr ... $("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