2015-11-17 2 views
0

у меня есть problam idont знаю, почему летучая я вижу все время "не определено" во всех "field_input"JQuery раскол() возвращает неопределенное значение

, когда я пытаюсь добавить от 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 \t 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; 

как я могу исправить?

ответ

0

Try цепочки .filter(Boolean) для fields.split(";"), чтобы удалить пустую строку "" в последнем индексе field, где символ в последний индекс строки является ";", который будет возвращать undefined в var field_input = val.split(',');, как 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>

+0

Я стараюсь не работать – eyal

+0

@eyal Может описать _ "не работает" _? Что такое результат? Что регистрируется на 'console'? – guest271314

+0

Не отображает ничего в консоли – eyal

Смежные вопросы