如何只追加一次? jQuery的

时间:2015-05-22 07:05:39

标签: jquery append

我要做的是每次点击按钮时只向.showError附加一次文字。现在它会在每次单击按钮时附加,并多次将文本附加到.showError。我该如何防止这种情况发生?

$("#send").on("click", function(ev) {
     $(".error-holder").empty();
     var err = 0;
     $("form .form-control").each(function(i, v) {
       if ($(this).val() == "") {
         err = 1;
       }
     });

     if (err == 1) {
       ev.preventDefault();
       $(".showError").append("Bij dit product moeten er serienummers ingevuld worden! <br /><br />");
       ($('#myModal').modal());

     }
});

3 个答案:

答案 0 :(得分:2)

在开始检查之前添加一个新变量,让我们称之为

<script>
    var slider = $('#slider').CircularSlider({
        radius: 154,
        innerCircleRatio: '0.59',
        handleDist: 96,
        min: 100,
        max: 3000,
        value: 500,
        clockwise: true,
        labelSuffix: "",
        labelPrefix: "R ",
        shape: "Half Circle Left",
        touch: true,
        animate: true,
        animateDuration : 360,
        selectable: false,
        slide: function(ui, value) {},
        onSlideEnd: function(ui, value) {},
        formLabel: undefined
    });
</script>

然后转到您的循环,检查所有值以及何时到达此阶段

var showError=1;

将其编辑为喜欢

if(err == 1){

这种方式错误只会显示一次,因为之后您正在更新变量以告知您的条件是否失败。

答案 1 :(得分:2)

使用utf 8

.html()

答案 2 :(得分:1)

尝试这样的事情:

   var appended = 0;
     $("#send").on("click", function(ev) {
    $(".error-holder").empty();
    var err = 0;
    $("form .form-control").each(function (i,v) {
        if ($(this).val() == "") {
            err = 1; 
        }
    });

    if(err == 1){
        ev.preventDefault();
    if (appended == 0) {
        $(".showError").append("Bij dit product moeten er serienummers ingevuld worden! <br /><br />");
      appended = 1;}
        ($('#myModal').modal());

}