jQuery - 仅添加一次文本

3
如何仅添加一次文本?
$("#dynamic_loan_amount").change(function(){
    var amount = $('#dynamic_loan_amount').val();        
    console.log(amount);

    if(amount > 399) {
        $("#precontract").append("<b>Appended text</b>");
    }

    else {
         $("#precontract").empty();
    }

});

想法:

使用.length()方法


取消绑定您的更改函数? - cr0ss
每次输入发生变化时,我需要进行检查。 - Ing. Michal Hudak
什么是问题?花些时间来构思它。什么是idea: - Satpal
7个回答

15
它将删除先前的元素并添加新元素。
if(amount > 399) {
        $("#precontract").html("<b>Appended text</b>");
    }

或者

 $("#precontract").empty().append("<b>Appended text</b>");

这很简单 :) - Ing. Michal Hudak
@Ing. Michal Hudak - Balachandran的答案是否有效?我认为它对你有效,或者我们可能需要分析另一个解决方案。 - Sudharsan S

1

尝试仅在追加文本时执行此操作

 $(function(){
      $("#dynamic_loan_amount").one("click",function(){
            $(this).append('"<b>Appended text</b>"');
       });

0

首先确定有多少个子元素

    <div class="parent">
       <div class="child-one"></div>
       <div class="child-two"></div>
    </div>
    <button class="append">Append</button> 

第二步是验证您可以通过以下代码完成多少个子元素

$('.append').click(function(){

  if($(.parent).children().length == 2)
   {

   }

});

0
你可以使用全局的 bool 变量作为标志。将条件放在 if 语句中,如果标志为 true,则其初始值为 true,然后执行追加操作。一旦你从 true 追加到 false,就将标志设置为 false。
var flag = true;
$("#dynamic_loan_amount").change(function(){
    var amount = $('#dynamic_loan_amount').val();        
    console.log(amount);

    if(amount > 399) {
        if(flag)
        {
          $("#precontract").append("<b>Appended text</b>");
          flag = false;
        }
    }    
    else {
         $("#precontract").empty();
    }    
});

0

在设置事件之前,您可以将布尔标志设置为true。在追加之前检查标志的值是否为true。如果是,则追加并将标志设置为false。

var appendb=true;
$("#dynamic_loan_amount").change(function(){
var amount = $('#dynamic_loan_amount').val();        
console.log(amount);

if(amount > 399 ) {
    if(appendb){
    $("#precontract").append("<b>Appended text</b>");
    appendb=false;
  }
}

else {
     $("#precontract").empty();
}

});

0

设置一个标志来记住它:

var appended = false;
$("#dynamic_loan_amount").change(function(){
    var amount = $('#dynamic_loan_amount').val();        
    console.log(amount);

    if(amount > 399) {
        if (!appended) {
            $("#precontract").append("<b>Appended text</b>");
        }
        appended = true;
    } else {
         $("#precontract").empty();
         appended = false;
    }
});

0

每个人都说要设置标志,但你想要长度,这里就是它

$("#dynamic_loan_amount").change(function(){
    var amount = $('#dynamic_loan_amount').val();        
    console.log(amount);

    if(amount > 399 && $('b').length == 0) {
        $("#precontract").append("<b>Appended text</b>");
    }

    else {
         $("#precontract").empty();
    }

});

什么!!!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接