javascript - 동적으로 객체를 생성하고 동적으로 데이터를 추가합니다.
女神的闺蜜爱上我
女神的闺蜜爱上我 2017-07-05 10:44:16
0
2
745

그림과 같이:
1. 위의 "추가" 버튼을 클릭하면 왼쪽의 테이블이 동적으로 추가됩니다. 왼쪽에 있는 테이블의 행을 클릭하면 왼쪽과 오른쪽에 일대다 관계가 있는 오른쪽에 테이블이 생성됩니다(행 수에는 제한 없음).
2. 왼쪽에 새 행을 추가하려면 독립된 개체를 만든 다음(각 행이 다른 개체에 해당함을 의미) 오른쪽에 있는 추가를 클릭하면 새로 생성된 행에 여러 드롭다운 메뉴가 표시됩니다. 예, 사용자가 선택을 마친 후 클릭하여 보고서 작성을 시작합니다. 보고서 작성 시작 버튼을 클릭하면 오른쪽의 데이터와 왼쪽의 데이터가 개체에 연속적으로 저장되어야 합니다. 왼쪽에. (왼쪽의 각 행은 개체에 해당합니다)
3. 왼쪽 및 오른쪽 테이블 위에 '삭제' 버튼이 있습니다. 왼쪽의 '삭제' 버튼을 클릭하면 이 행의 저장 개체가 삭제됩니다. 오른쪽에 해당하는 데이터는 삭제되지 않습니다. 오른쪽 행을 선택하고 '삭제'를 클릭하면 오른쪽 행의 데이터 저장소만 왼쪽 개체에서 삭제됩니다.

프레임워크:
사용된 부트스트랩 jQuery

다음은 앞서 말씀드렸던 tr 추가, tr 삭제 기능만을 구현한 코드입니다. 아직 개체를 생성하지 않았거나 데이터를 추가하지 않았습니다. 혹시 아이디어가 있으신가요? 긴급합니다. ! !

코드:

으아악

js 코드:

으아악
女神的闺蜜爱上我
女神的闺蜜爱上我

모든 응답 (2)
我想大声告诉你

내 생각을 간략하게 설명하겠습니다.각 DOM 구조는 데이터 객체를 유지합니다, HTML 구조가 다음과 같다고 가정합니다(emmet 구문).

으아악

그런 다음:

  • 위 내용은 세 가지 구성요소로 나누어져 있습니다

  • .app-test모든 납세자 데이터를 관리할 책임이 있습니다(예: 왼쪽 테이블).

  • 왼쪽 목록의 각 tr은 해당 납세자의 데이터를 유지합니다(예: 오른쪽 표).
  • 양쪽에 있는 모든 tr 는 작은 구성 요소로 간주될 수 있습니다. 참새는 작지만 모든 내부 장기를 가지고 있습니다.

  • 는 다음과 같이 요약됩니다:
  • ;

  • 상위 구성요소와 하위 구성요소 간에 값을 전달하는 것으로 이해할 수 있습니다.
  • 整个功能组件 > 左侧 tr 组件 + 右侧 tr 组件

    대략적인 구현은 다음과 같습니다.
  • 먼저 두 테이블은 다음을 가정하여 기능 모듈에 속합니다.
  • :

    으아악

  • TaxesReportTaxpayer 및 TaxesReportReporter 모두 [상위 구성 요소를 호출하는 하위 구성 요소] 메서드 또는 데이터에 대한 TaxesReport 인스턴스를 전달해야 합니다


새 납세자를 생성하려면 왼쪽의 새 버튼을 클릭하세요.TaxesReport으아악

오른쪽에 다음과 같은 납세자 신고 유형을 추가하세요.

으아악삭제할 때 해당 tr 구조를 삭제하고 tr에 해당하는 데이터를 삭제하는 것 외에도 관련된 두 데이터 개체(왼쪽의)가 값 매개 변수를 설정합니다.

정적 데이터(데이터베이스에서 가져오지 않은 기본 키 식별이 있는 데이터)가 있을 수 있고 배열의 항목을 삭제하면 배열 첨자가 손실될 수 있으므로 가장 좋은 방법은 생성 가능한 데이터를 생성하는 것입니다. 생성된 구성 요소(왼쪽 또는 오른쪽)에 고유 식별자를 생성하고 추가하는 데 사용되는 중복되지 않는 값 방법입니다.

    小葫芦
    1. 데이터 캐시를 생성하고 키 모델 형식으로 데이터를 저장합니다. 오른쪽 모델에 해당 데이터를 저장하는 어린이가 있습니다

    2. 왼쪽으로 전환할 때 키-모델 데이터 캐시에서 직접 해당 model.children을 찾아 오른쪽에 목록을 다시 그립니다

    3. 왼쪽에 추가하거나 삭제할 때는 키 모델 데이터 캐시에서 추가하고 삭제하면 됩니다

    4. 오른쪽에서 추가, 삭제 시에도 마찬가지입니다. 이때 해당 모델을 찾을 수 있습니다.children

    jQuery를 사용하기 때문에 jQuery는data()를 통해 DOM에 데이터를 첨부할 수 있으므로 위의 key-model은 각 모델을

    형태로 각 행(왼쪽)의 DOM에 직접 첨부할 수 있습니다. 오른쪽인지 아닌지

    이 아이디어입니다. 먼저 코드를 적어보세요
      최신 다운로드
      더>
      웹 효과
      웹사이트 소스 코드
      웹사이트 자료
      프론트엔드 템플릿
      회사 소개 부인 성명 Sitemap
      PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!