使用jquery更改字段

时间:2017-07-25 10:29:45

标签: javascript jquery html wordpress

我想用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;
    }
});
});

6 个答案:

答案 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;
    }
});
});

Working Demo