我有一个错误文本的javascript数组我想将每个错误文本插入P标记并将所有P标记插入div

时间:2016-01-12 09:17:30

标签: javascript jquery

if (!mileage) {
  valid = 0;
  plateErrors = "Please tell us the Vehicle Mileage";
}
if (!price) {
  valid = 0;
  plateErrors = "We can't generate the report with out Price ";
}

if (valid == 1) {

  window.open('https://www.carreport.ae/Home/VehicleInformationByPlate?siteID=1004' +
    '&plateSource=' + plate_source + '&plateCode=' + plate_code + '&plateNumber=' + plate_number + '&mileage=' + mileage + '&price=' + price, '_blank');

} else {
  var i;

  alert(plateErrors);
  $('#plateNumberError').removeClass('hidden');
  //plateErrors.toString();

  $.each(plateErrors, function(key, element) {
    $("#plateNumberError").html("<p class='alert alert-danger' role='alert'>" + key + "</p>");
  });

}

以上是我的示例代码:

我需要的是我有一个带有错误文本的数组。我需要在P标签中显示每个文本,并将所有带有错误消息的P标签插入到div中。

当我使用for循环时,我只得到字符,而不是整个字符串作为一个

4 个答案:

答案 0 :(得分:1)

制作

var plateErrors = [];
if (!mileage)
{
   valid = 0; 
   plateErrors.push( "Please tell us the Vehicle Mileage" ); 
} 
if (!price) 
{ 
   valid = 0; plateErrors.push( "We can't generate the report with out Price " ); 
} 
if (valid == 1) 
{ 
  window.open('https://www.carreport.ae/Home/VehicleInformationByPlate?siteID=1004'
+ '&plateSource=' + plate_source + '&plateCode=' + plate_code + '&plateNumber=' + plate_number + '&mileage=' + mileage + '&price=' + price, '_blank'); 
} 
else
{ 
  var i; 
  alert(plateErrors); 
  $('#plateNumberError').removeClass('hidden'); //plateErrors.toString();
  $.each(plateErrors ,function(key,element){ 
    $("#plateNumberError").append( "<p class='alert alert-danger' role='alert'>" + element + "</p>"); }); 
}

答案 1 :(得分:0)

您需要按.html()

重新.append()
$.each(plateErrors ,function(key,element){
     $("#plateNumberError").append("<p class='alert alert-danger' role='alert'>" + key + "</p>");
});

应该有效

答案 2 :(得分:0)

您需要先创建一个数组:

var plateErrors = [];
if (!mileage)
{
   valid = 0; 
   plateErrors.push("Please tell us the Vehicle Mileage");
} 
if (!price) 
{ 
   valid = 0; 
   plateErrors.push("We can't generate the report with out Price); 
} 

答案 3 :(得分:0)

使用.html()而不是.append()来追加HTML元素。这是将元素附加到DOM的最快方法。

plateErrorsHtml = [];

$.each(plateErrors ,function(key,element){ 
    plateErrorsHtml.push("<p class='alert alert-danger' role='alert'>" + element + "</p>");
}); 

$("#plateNumberError").html(plateErrorsHtml.join(''));

以下是有关此主题的详细讨论jquery .html() vs .append()