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



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循环时,我只得到字符,而不是整个字符串作为一个

使其成为

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>"); }); 
}

您需要通过.append():重新放置.html()

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

它应该工作

您需要首先创建一个数组:

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

使用.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()与.append()

最新更新