2012-06-03 4 views
0

이것은 쉽지만 쉬워야합니다.jQuery를 사용하여 데이터베이스 레코드의 양식 복제

나는 다음과 같은 형식이 있습니다

<div id="rsvp"> 
<form class="form-inline">  
    <fieldset> 
     <label class="control-label" for="input01" id="rsvp_label">John Smith</label> 
     <label class="control-label">Attending?:</label>   
     <label class="radio"><input type="radio" name="optionsRadios" id="optionsRadios1" value="option1" checked>Yes</label> 
     <label class="radio"><input type="radio" name="optionsRadios" id="optionsRadios2" value="option2">No</label>    
     <label class="control-label small" for="select01" id="meal">&nbsp;&nbsp;Meal Selection:</label> 
     <select id="selectMeal" class="input-small"> 
      <option>Chicken</option> 
      <option>Beef</option> 
     </select> 
     <button type="submit" class="btn btn-primary" id="btnrsvp">Save/Confirm Changes</button>      
    </fieldset> 
</form> 
</div> 

내가 성공적으로 내 쿼리와 일치하는 데이터베이스 레코드를 철수하고, 그리고 나는 1가 -> n 개의 기록을. 이 기록을 각 기록마다 복제하고 싶습니다. 따라서 레코드를 반복 할 수는 있지만 실제로 필드 세트를 복제 한 다음 ID를 증가시켜 각 필드에 양식 작업을 첨부 할 수있는 방법을 알아내는 데 문제가 있습니다. 아니면 이것을 할 수있는 더 좋은 방법이 있을까요?

답변

0

전체 양식에서 ID 대신 클래스를 사용하는 경우 ID를 구문 분석 할 필요없이 원하는대로 복제하고 다시 사용할 수 있습니다. 각 양식에서 데이터 속성 또는 숨겨진 입력으로 레코드 ID를 추적하십시오.

양식에서 다른 필드에 의존하는 양식 필드 요소 중 하나에서 이벤트 핸들러가있는 경우, 당신은 단순히 개별 형태의 컨텍스트 내에서

이벤트 핸들러 예 (ID 변경 선택을 그들을 볼 것) 클래스 :

<select class="input-small selectMeal"> 
    <option>Chicken</option> 
    <option>Beef</option> 
</select> 

JS

$('.selectMeal').change(){ 
    var rsvp_name= $(this).closest('.form-inline').find('.rsvp_label').text(); 
    if(rsvp_name=='John Smith') doSomething(); 
}) 
0

컨트롤은 양식 태그가 될 것입니다. data-id="3" 3은 john smith의 사용자 ID입니다. 그런 다음 모든 입력 ID를 데이터 ID로 변경하고 양식 제출 핸들러에서 <form> 태그의 data-id 속성에 매핑되는 모든 레코드에 해당 데이터를 제출하십시오.

0

SheepIt 봐, jQuery 플러그인을 복제 한 형태 되세요.

관련 문제