2016-09-28 2 views
0

교사에 따른 강의 수에 따라 동적 입력란 (입력 : 요일과 시간)을 만들고 싶습니다.AngularJs의 강의 수에 따라 동적 인 요일과 시간 필드

예 : 주당 강의가 하나만있는 경우 하루 입력에 대한 드롭 다운과 2 개의 입력 유형 시간이 2.00pm에서 3:00 pm 사이의 시간에 대해 생성됩니다. 첫 번째 주 2 회 강의 후 2 일째 이후 두 번째 날 입력과 두 번 째 시간 입력.

jquery와 그 작업을 사용했지만 jquery를 사용하여 조금 복잡했으며 '좋은 생각이 아닙니다.'라는 질문에 jquery를 사용했습니다.

나는 시도 :

<fieldset style="display:none;" class="slot" > 
     <div ng-repeat="i in days | limitTo:-lectures"> 

      <label>{{$index+1}} 
       <span>Select Day : </span> 
       <span> 
       <select ng-model="day" ng-options="x for x in days" ng-blur="sendTiming()"></select> 
       </span> 
      </label> 

      <label>Select Duration 
       <span > 
        <p id='datepair{{$index + 1}}' name='datepair{{$index + 1}}' class='datepair' data-language='javascript'> 
         <input type='text' class='time start' name='timefrom[{{$index + 1}}]' id='timefrom{{$index + 1}}' ng-model="fromtime[]" required ng-blur="sendTiming()" ng-value=""/> to 
         <input type='text' class='time end' id='timeto{{$index + 1}}' name='timeto[{{$index + 1}}]' ng-model="totime" required ng-blur="sendTiming()" ng-value=""/> 
        </p> 
       </span> 
      </label> 
     </div> 
    </fieldset> 

어떤 생각을 환영합니다. 감사

편집 : https://jsfiddle.net/8btsqbnu/

+0

반복됩니다. 지금까지 무엇을 시도했는지 보여줄 필요가 있습니다. 진행 한 진행 상황과 중단 된 위치를 보여주십시오. –

+0

현재 주당 1 강의 또는 주당 2 강의인지 어떻게 알 수 있습니까? 그것은 사용자가 입력 한 것입니까? 현재, 바이올린은 단지 주당 한 강의에 대한 두 개의 입력 컨트롤로 선택 컨트롤을 보여줍니다. –

+0

서버에서 가져 와서 동적이 아니게됩니다. 바이올린에서는 덤피 데이터를 넣었습니다. – Deepika

답변

0

plucker

그것은 하루에 1 개 입력, 각 버튼 클릭에 대한 시간이 개 입력을 추가 : 여기에 바이올린입니다.

당신은 동적으로 컨트롤

.directive("lectureTimings", function(){ 
    return{ 
    restrict:'E', 
    scope:{ 
     days : '=', 
     timing: '=' 
    }, 
    templateUrl:'timings.html' 
    } 
}) 

지침 템플릿

<select ng-model="timing.day" ng-options="x for x in days" ng-blur="sendTiming()"></select> 
<br/> 
<input ng-model="timing.from"/>to<input ng-model="timing.to"/> 

메인 컨트롤러 템플릿

<input type="button" name="addmore" class="addmore" ng-click="addTiming();" value="Add Classes"/> 

    <div ng-repeat= "timing in timingsData"> 
    <br/> 
    <lecture-timings timing="timing" days="days"></lecture-timings> 
</div> 

때마다 사용자의 클릭 버튼

을 추가 할 수있는 격리 된 범위와 지침이 필요합니다

우리는 timingsData에 새로운 객체를 밀어 NG 반복이 자동으로 포럼은 당신이 당신의 문제 문을 해결하는 데 도움이 수 없습니다

$scope.addTiming = function(){ 

    $scope.timingsData.push({ 
    day:'', 
    from: '', 
    to: '' 
    }); 
} 
+0

안녕하세요, Ravi는 귀하의 회신에 감사드립니다. 플 런커 (plunker) : 동적 인 필드를 만드는 방법 "하루에 1 개의 입력을 추가하고 각 버튼 클릭에 대해 시간에 2 개의 입력을 추가합니다." 한 번만 생성됩니다. 강의 수에 따라 동적으로하고 싶습니다. – Deepika

+0

plucker에서 버튼을 클릭 할 때마다 컨트롤에 대한 새로운 세트가 올바르게 추가됩니까? 당신은 "단 한 번만"을 만듭니다. –

+0

그것은 하나의 슬롯 만 만들고 있습니다. 강의 수에 따라 슬롯이 필요하지 않습니다. (한 슬롯은 하루에 1 개의 입력을, 타이밍을 위해 두 개의 입력을 의미합니다.) – Deepika