2011-11-07 3 views
2

장시간 대기중인 lurker, 처음 포스터.HTML의 입력 값을 특정 이름이 아닌 HTML로 동적으로 설정합니다.

동적으로 (Javascript/jQuery로) key => value 쌍 입력을 폼에 추가 할 수있는 페이지가 있습니다. 이 필드는 처리를 위해 배열로 PHP에 반환되어야하므로 키의 이름은 모두 "complete_fields []"이며 값의 이름은 모두 "complete_values ​​[]"입니다. 이제 내 문제가있다. 입력을 채운 다음 다른 키 = 값 쌍을 추가하려면 버튼을 클릭하면 Javascript가 작동합니다. 그러나 HTML "value ="부분은 채워지지 않으므로 이미 입력 한 입력 내용은 자바 스크립트에 의해 지워집니다. 그래서 내 질문은 : 어떻게 동적으로 모든 입력을 동일한 이름이 있지만 JS, 입력 HTML 값을 설정할 수 있습니까? 이것이 가능하지 않다면 나머지 HTML을 모두 지우지 않고 어떻게 div의 끝에 추가 할 수 있습니까? 여기

은 자바 스크립트가 입력 코드를 추가 할 수 있습니다 :

function addCompleteField() { 
    var oldhtml = $("#complete_fields").html(); 
    var newrow = '<tr><td><input type="text" name="complete_fields[]" > => <input type="text" name="complete_values[]" ></td></tr>'; 
    $("#complete_fields").html(oldhtml+newrow); 
} 

답변

1

HTML과 주위에 일 처리, 단지 jQuery의 clone 방법을 사용하여 요소를 복제하는 대신 :

function addCompleteField() { 
    var table = $('#complete_fields'), 
     lastRow = table.find('tr').last(), 
     newRow = lastRow.clone(true); 

    newRow.find('input').val(''); // blank the new row's input elements 
    newRow.appendTo(table); 
} 
+0

이 완벽하게 작동, 정말 감사합니다! –

관련 문제