jQuery split() returns undefined

jQuery split() returns undefined

本文关键字:returns undefined split jQuery      更新时间:2023-09-26

我有一个问题,我不知道为什么我在所有"field_input"中一直看到bat"未定义"

当我尝试从jquery.split 添加时

function field_include()
{
  var form_id = $( ".form" ).val();
  $.ajax({
    url: 'ajax/field_include.php',
    type: 'POST',
    data: {
      form_id : form_id
    },
    success: function(data) {
      var	fields = data;
      var field = fields.split(";").filter(Boolean);
      $.each(field, function(i, val){
        var field_val = val.split(",");
        $( ".addfromform" ).append('<div class="form-group"><label class="col-lg-2 control-label mt10">'+field_val[2]+'</label><div class="col-xs-10"><label for="'+field_val[1]+'" class="field prepend-icon"><input type="'+field_val[0]+'" name="'+field_val[1]+'" id="first_name" class="gui-input" placeholder="'+field_val[3]+'" autocomplete="off"><label for="'+field_val[1]+'" class="field-icon"><i class="fa fa-user"></i></label></label></div></div>').fadeIn('slow');
      });
    }
  });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

来自"field_include.php"的字符串:

1,first_name,First Name:,First Name,1;1,last_name,Last Name:,Last Name,2;1,email,Email:,Email,3;1,job,Job title:,Job title,4;

我该怎么修?

尝试将.filter(Boolean)链接到fields.split(";")以删除field最后一个索引处的空字符串"",其中字符串最后一个索引号处的字符为";",这将在var field_input = val.split(',');处返回undefined,因为val将为空串""

var field = fields.split(";").filter(Boolean);

var fields = "1,first_name,First Name:,First Name,1;1,last_name,Last Name:,Last Name,2;1,email,Email:,Email,3;1,job,Job title:,Job title,4;";
var field1 = fields.split(";");
var field2 = fields.split(";").filter(Boolean);
$.each(field2, function(i, val) {
  var field_val = val.split(",");
  $("body").append('<div class="form-group"><label class="col-lg-2 control-label mt10">' + field_val[2] + '</label><div class="col-xs-10"><label for="' + field_val[1] + '" class="field prepend-icon"><input type="' + field_val[0] + '" name="' + field_val[1] + '" id="first_name" class="gui-input" placeholder="' + field_val[3] + '" autocomplete="off"><label for="' + field_val[1] + '" class="field-icon"><i class="fa fa-user"></i></label></label></div></div>');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>