2013-10-09 4 views
-2

Это немного сложно .. В моей системе есть этот модуль для персонала, поэтому, если они тратят свои собственные деньги на связанные с компанией вещи, они могут попросить о возврате. В списке может быть столько строк, сколько пользователь хочет добавить, и именно здесь начинается моя проблема.jQuery обработка нескольких входов

Я хочу, чтобы мой код, чтобы принять все данные из входов, и записать их в текстовое поле (где PHP взрываются все)

Мой код здесь: (проверить http://jsfiddle.net/ZWq9z/)

<form id="test"> 
    <div><input type="date" /><input type="text" placeholder="Purpose" /><input type="text" placeholder="Description" /><input type="text" placeholder="Price" /><input type="text" placeholder="Attachments" /></div> 
    <div><input type="date" /><input type="text" placeholder="Purpose" /><input type="text" placeholder="Description" /><input type="text" placeholder="Price" /><input type="text" placeholder="Attachments" /></div> 
    <div><input type="date" /><input type="text" placeholder="Purpose" /><input type="text" placeholder="Description" /><input type="text" placeholder="Price" /><input type="text" placeholder="Attachments" /></div> 
</form> 
<a id="new">add line</a> 
<textarea id="all"></textarea> 

JQuery:

$(document).keyup(function(){ 
    $("#all").val(""); 
    $("#test div").each(function(i){ 
     $("input").each(function(i){ 
      if($(this).val() != ""){ 
       $("#all").val($("#all").val() + ";" + $(this).val()); 
      } 
     }); 
     $("#all").val($("#all").val() + ";\n"); 
    }); 
}); 
$("#new").click(function(){ 
    $("#test").append('<div><input type="date" /><input type="text" placeholder="Purpose" /><input type="text" placeholder="Description" /><input type="text" placeholder="Price" /><input type="text" placeholder="Attachments" /></div>'); 
}); 

http://jsfiddle.net/ZWq9z/

Если вы можете помочь мне решить эту проблему (или придумать лучшее решение), я буду очень благодарен.

Thank you.

+1

что не работает? – Sergio

+0

Где имена полей формы? Почему бы вам не просто отправить форму на сервер, а не пытаться объединить все в текстовую область? – epascarello

ответ

0

У меня нет моего jfiddle acct под рукой, но здесь он с незначительным изменением вашего кода. Update: найдено jsfiddle логин (имя пользователя проклятую вместо электронной почты, DOH): http://jsfiddle.net/bhilleli/ZWq9z/6/

$(document).keyup(function(){ 
    $("#all").val(""); 
    $("#test").children("div").each(function(i){ 
     $(this).children("input").each(function(i){ 
      if($(this).val() != ""){ 
       $("#all").val($("#all").val() + ";" + $(this).val()); 
      } 
     }); 
     $("#all").val($("#all").val() + ";\n"); 
    }); 
}); 
$("#new").click(function(){ 
    $("#test").append('<div><input type="date" /><input type="text" placeholder="Purpose" /><input type="text" placeholder="Description" /><input type="text" placeholder="Price" /><input type="text" placeholder="Attachments" /></div>'); 
}); 
Смежные вопросы