2013-10-21 3 views
0

여기 내 설치가 지금까지의 필드에 다른 이름을 제공 : Fiddle동적 별도로

내가 클릭 할 때마다 "제출"나는 그것을 필요로 버튼을 특정 사람/이메일 주소로 이메일을 보낼 수 있습니다.

그러나 나는 단지 그들을 복제했기 때문에 그들은 모두 같은 이름을 가지고 있습니다. 필드를 고유 한 이름 및/또는 클래스에 동적으로 제공하여 개별적으로 전자 메일로 보낼 수있는 방법은 무엇입니까? 내가 새 사람/이메일 주소를 추가 동적으로하기 때문에 또한

$('.sub_container').first().clone(true).appendTo('.container').find('input').val('');

은이 모두 같은 페이지에서 발생해야합니다. 그래서 json이나 ajax를 아마도 사용하려고 생각 했나요?

미리 감사드립니다.

Fiddle

+0

요청 데이터가 반복을위한 배열로 변환되는 방식으로 입력 필드의 이름을 바꿉니다. 예를 들어 첫 번째 사람 블록의 경우 'name = "people [0] [Name]"'및 이름 블록의 경우'name = 1] [이름] ""두 번째. 인덱스를 증가시키는 방법을 찾아야 할 것이다. 또는 단순히'name = "people [] [Name]"'을 사용하여 스스로 할당 된 인덱스를 얻을 수 있는지 알아봐야 할 것이다. – Scuzzy

답변

1

당신은 이벤트

$('.add_new').click(function (e) { 
    var count = parseInt($("#counter").val(),10); 
    $("#counter").val(count+1); 
    var cloneEle = $(this).prev(".sub_container").clone(true); 
    cloneEle.attr("class","sub_container"+count) 
cloneEle.find("input[type='text']").val(''); 
    cloneEle.find('input[type="submit"]').val("Submit"); 
    cloneEle.find('input[type="submit"]').attr("id","btnSubmit"+count) 
    cloneEle.appendTo('.container'); 
    $('.preview_message').last().html(''); 
    $('.preview_name').last().html(''); 
}); 

jsfiddle demo

을 클릭 카운터 숨겨진 필드를 추가

<input type='hidden' id='counter' value ='0' /> 

변경이

같은 일부 thign을 시도 할 수 있습니다