2017-06-01 14 views
6

मैं कोणीय 4 के लिए काफी नया हूं और मैं अपने चर के मान को "घंटों" से "दिनों" में बदलना चाहता हूं और मेरे द्वारा ngModel द्वारा दिए गए मान को भी विभाजित करना चाहता हूं 8. मैं इसे करने के लिए वास्तव में कैसे जाऊं?कोणीय 4 - एक चर के मूल्य को बदलने के लिए मैं अपना चेकबॉक्स कैसे प्राप्त कर सकता हूं?

यहाँ मेरी summary.component.html से एक अंश है:

import { Component, OnInit } from '@angular/core'; 
 
import { RouterModule, Routes } from '@angular/router'; 
 
import { EmpInfoService } from './emp-info.service'; 
 

 
import { EmpInfo } from './emp-info'; 
 

 
@Component({ 
 
    selector: 'pto-summary', 
 
    templateUrl: `./summary.component.html`, 
 
    styleUrls: ['./summary.component.css'] 
 
}) 
 

 
export class SummaryComponent implements OnInit{ 
 
    empInfo: EmpInfo[]; 
 
    selectedIndex = 4; 
 
    timeVar = " hours"; 
 

 
    constructor(private empInfoService: EmpInfoService) { } 
 

 
    getEmpInfo(): void { 
 
     this.empInfoService.getEmpInfos().then(
 
      empInfo => this.empInfo = empInfo 
 
     ); 
 
    } 
 

 
    ngOnInit(): void { 
 
     this.getEmpInfo(); 
 
    } 
 
}

: यहाँ

<div class="onoffswitch"> 
 
    <input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="myonoffswitch" checked> 
 
    <label class="onoffswitch-label" for="myonoffswitch"> 
 
    <span class="onoffswitch-inner"></span> 
 
    <span class="onoffswitch-switch"></span> 
 
    </label> 
 
</div> 
 

 
<div class="panel-body"> 
 
    <form class="form-horizontal" role="form" style="overflow-x:auto;"> 
 
     <fieldset> 
 
     <div class="col-xs-6"> 
 
      <div class="form-group" *ngIf="empInfo && empInfo.length > selectedIndex"> 
 
      <label class="col-xs-2" style="font-weight: bold;"> &#43; </label> 
 
      <label class="col-xs-4"> Carryover </label> 
 
      <div class="col-xs-6"> 
 
       <input class='form-control' type="text" id="ptoCarry" [(ngModel)]="empInfo[selectedIndex].PTOCarry + timeVar" name="ptoCarry"/> 
 
      </div> 
 
      </div> 
 
     </div> 
 
     </fieldset> 
 
    </form> 
 
</div>

और फिर मेरी summary.component.ts है

export class EmpInfo { 
 
    EmpKey: number; 
 
    EmpID: string; 
 
    Firstname: string; 
 
    LastName: string; 
 
    EmpStat: string; 
 
    StartDate: Date; 
 
    AdjustedStart: Date; 
 
    Anniversary: number; 
 
    PTOYear: number; 
 
    STDLTD: number; 
 
    Uncharged: number; 
 
    ETOEarned: number; 
 
    ETORequests: number; 
 
    ETORemaining: number; 
 
    PTOBase: number; 
 
    PTOCarry: number; 
 
    PTOBorrowed: number; 
 
    PTOBalance: number; 
 
    PTORequests: number; 
 
    PTORemaining: number; 
 
}

किसी भी मदद की बहुत सराहना और स्वागत किया जाता है:यहाँ मेरी empInfo वस्तु है! अग्रिम में धन्यवाद!

+1

ngModel में 'empInfo [selectIndex] [PTOCarry + timeVar] होना चाहिए, क्या आप' empInfo' ऑब्जेक्ट को साझा कर सकते हैं? –

+1

मैं इसे 2 डी सरणी के रूप में कैसे लिखूं? और मूल पोस्ट को अद्यतन करना। – asdf

उत्तर

11

बस एक (change) घटना के लिए अपने चेकबॉक्स बाँध और यह एक फ़ंक्शन को कॉल करते हैं, और समारोह के भीतर आप "timeVar" का मान बदल सकते हैं और से 8.

अपने अन्य चर विभाजित इसके अलावा, आप एक नया परिचय चाहिए कर सकते हैं चेकबॉक्स की स्थिति का ट्रैक रखने के लिए अपने summary.component.ts पर परिवर्तनीय।

अपने .html में:

<input [(ngModel)]="checkboxValue" (change)="newFunction()" type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="myonoffswitch" checked> 

अपने summary.component.ts को checkboxValue:boolean; और newFunction() जोड़ने

मैं बिल्कुल समझ में नहीं आता कि आप क्या करना चाहते हैं, लेकिन आप किसी भी तर्क आप चाहते हैं कोड कर सकते हैं तदनुसार उस समारोह में। यह ऐसा कुछ होगा।

export class SummaryComponent implements OnInit 
{ 
    empInfo: EmpInfo[]; 
    selectedIndex = 4; 
    timeVar = " hours"; 
    checkboxValue:boolean; 

    newFunction() 
    { 
     if(!checkboxValue) 
     { 
     this.timeVar = " days"; 

     this.empInfo[selectedIndex].PTOCarry = this.empInfo[selectedIndex].PTOCarry/8; 
     } 
     else 
     { 
     this.timeVar = " hours"; 
     //actually this else part shouldn't be needed 
     } 
    } 

    //the rest... 

हालांकि परिशुद्धता के बारे में सावधान रहें। यदि आप जानते हैं कि आपके मूल्य मुद्दों को पेश नहीं करेंगे तो इससे कोई फर्क नहीं पड़ता। अन्यथा जब आप चेकबॉक्स को जांचते और अनचेक करते समय उपयोगकर्ता को सबमिट करते समय गुणा या विभाजित करना चाहिए। ... ऐसा करने के लिए बस (change)="newFunction()" भाग लें और इसे चेकबॉक्स के बजाय टेक्स्ट इनपुट में जोड़ें।

संपादित करें: आप पाठ इनपुट करने के लिए इसे ले जाया जाएगा, तो आप एक के लिए (बदलें) घटना बदलना चाहिए (प्रस्तुत) के बजाय, इस तरह: (submit)="newFunction()"। अन्यथा फॉर्म प्रत्येक चरित्र इनपुट पर जमा होगा।

यदि आप अधिक सहायता चाहते हैं तो कृपया अधिक जानकारी प्रदान करें। मेरी आशा है कि इससे काम हो जाए।

संबंधित मुद्दे

 संबंधित मुद्दे