我想用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 :(得分: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;
}
});
});
答案 1 :(得分: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));
});
});
答案 2 :(得分:0)
这就是abbr被删除的原因...... $("label[for='avia_3_1']").text("Nome")
;
试试这个:
$("label[for='avia_3_1']").html("Nome <abbr class='required' title='Richiesto'>*</abbr>");
答案 3 :(得分:0)
它被删除,因为.text(“”)删除了元素的内容。
你可以试试这个。
$("label[for='avia_3_1']").html('Nome'+ '<abbr class="required" title="Richiesto">*</abbr>');
答案 4 :(得分: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;
}
});
答案 5 :(得分:0)
当您更改标签的值时,abbr在标签内部,因此它删除了abbr并使用选择的值删除缩写进行更新。
<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;
}
});
});