2016-09-16 2 views
0

내 코드 확인 AngulaJS 작동하지 :NG는-INIT

var json = '[{"type":"product","id":1,"label":"Size","isRequired":true,"errorMessage":"","enablePrice":true,"description":"","placeholder":"Select Size","defaultValue":"","choices":[{"text":"Size 30","value":"Size 30","isSelected":false,"price":"$100.00"},{"text":"Size 32","value":"Size 32","isSelected":false,"price":"$100.00"},{"text":"Size 34","value":"Size 34","isSelected":false,"price":"$100.00"},{"text":"Size 36","value":"Size 36","isSelected":false,"price":"$100.00"}],"conditionalLogic":"","productField":"","basePrice":"$0.00","pageNumber":1},{"type":"option","id":2,"label":"Select Colors","isRequired":true,"errorMessage":"","inputType":"select","choices":[{"text":"Denim","value":"Denim","isSelected":false,"price":"$0.00"},{"text":"Black","value":"Black","isSelected":false,"price":"$0.00"},{"text":"Brown","value":"Brown","isSelected":false,"price":"$0.00"}],"enablePrice":true,"productField":1,"formId":24,"description":"","allowsPrepopulate":false,"inputMask":false,"inputMaskValue":"","labelPlacement":"","descriptionPlacement":"","subLabelPlacement":"","placeholder":"Select Jean Color","cssClass":"","inputName":"","adminOnly":false,"noDuplicates":false,"defaultValue":"","inputs":"","conditionalLogic":{"actionType":"show","logicType":"any","rules":[{"fieldId":"1","operator":"is","value":"Size 30"},{"fieldId":"3","operator":"is","value":"Regular"}]},"failed_validation":"","multipleFiles":false,"maxFiles":"","calculationFormula":"","calculationRounding":"","enableCalculation":"","disableQuantity":false,"displayAllCategories":false,"useRichTextEditor":false,"pageNumber":1,"displayOnly":""},{"type":"option","id":3,"label":"Select Fit","adminLabel":"","isRequired":true,"size":"medium","errorMessage":"","inputType":"select","choices":[{"text":"Regular","value":"Regular","isSelected":false,"price":"$0.00"},{"text":"Skinny","value":"Skinny","isSelected":false,"price":"$10.00"},{"text":"Fit","value":"Fit","isSelected":false,"price":"$5.00"}],"enablePrice":true,"productField":1,"formId":24,"description":"","allowsPrepopulate":false,"inputMask":false,"inputMaskValue":"","labelPlacement":"","descriptionPlacement":"","subLabelPlacement":"","placeholder":"Select Jean Fit","cssClass":"","inputName":"","adminOnly":false,"noDuplicates":false,"defaultValue":"","inputs":"","conditionalLogic":{"actionType":"show","logicType":"any","rules":[{"fieldId":"1","operator":"is","value":"Size 30"},{"fieldId":"1","operator":"is","value":"Size 32"},{"fieldId":"1","operator":"is","value":"Size 34"},{"fieldId":"1","operator":"is","value":"Size 36"}]},"failed_validation":"","multipleFiles":false,"maxFiles":"","calculationFormula":"","calculationRounding":"","enableCalculation":"","disableQuantity":false,"displayAllCategories":false,"useRichTextEditor":false,"enableChoiceValue":false,"pageNumber":1,"displayOnly":""},{"type":"option","id":4,"label":"Select Rise","adminLabel":"","isRequired":true,"size":"medium","errorMessage":"","inputType":"select","choices":[{"text":"High","value":"High","isSelected":false,"price":"$29.00"},{"text":"Low","value":"Low","isSelected":false,"price":"$0.00"}],"enablePrice":true,"productField":1,"formId":24,"description":"","allowsPrepopulate":false,"inputMask":false,"inputMaskValue":"","labelPlacement":"","descriptionPlacement":"","subLabelPlacement":"","placeholder":"Select Rise","cssClass":"","inputName":"","adminOnly":false,"noDuplicates":false,"defaultValue":"","inputs":"","conditionalLogic":{"actionType":"show","logicType":"any","rules":[{"fieldId":"1","operator":"is","value":"Size 30"},{"fieldId":"1","operator":"is","value":"Size 32"},{"fieldId":"1","operator":"is","value":"Size 34"},{"fieldId":"1","operator":"is","value":"Size 36"}]},"failed_validation":"","multipleFiles":false,"maxFiles":"","calculationFormula":"","calculationRounding":"","enableCalculation":"","disableQuantity":false,"displayAllCategories":false,"useRichTextEditor":false,"enableChoiceValue":false,"pageNumber":1,"displayOnly":""},{"type":"total","id":5,"label":"Total","adminLabel":"Total ","isRequired":false,"size":"medium","errorMessage":"","inputs":null,"formId":24,"description":"","allowsPrepopulate":false,"inputMask":false,"inputMaskValue":"","inputType":"","labelPlacement":"","descriptionPlacement":"","subLabelPlacement":"","placeholder":"","cssClass":"","inputName":"","adminOnly":false,"noDuplicates":false,"defaultValue":"","choices":"","conditionalLogic":{"actionType":"show","logicType":"any","rules":[{"fieldId":"1","operator":"is","value":"Size 30"},{"fieldId":"1","operator":"is","value":"Size 32"},{"fieldId":"1","operator":"is","value":"Size 34"},{"fieldId":"1","operator":"is","value":"Size 36"}]},"failed_validation":"","productField":"","multipleFiles":false,"maxFiles":"","calculationFormula":"","calculationRounding":"","enableCalculation":"","disableQuantity":false,"displayAllCategories":false,"useRichTextEditor":false,"pageNumber":1,"displayOnly":""}]'; 
$scope.attributes = json; 

HTML

<div ng-repeat="conditions in attributes.conditionalLogic.rules"> 
    <select class="form-control" ng-init="option.id = conditions.fieldId" name="conditon_dropdown" ng-model="conditions.fieldId" ng-change="" ng-options="option.id as option.placeholder for option in attributes"></select> 
</div> 

가 출력이

<select ng-options="option.id as option.placeholder for option in attributes" ng-change="" ng-model="conditions.fieldId" name="conditon_dropdown" ng-init="option.id = conditions.fieldId" ng-selected="conditions.fieldId" class="form-control ng-pristine ng-valid ng-not-empty ng-touched"> 
<option value="?" selected="selected"></option> 
<option label="Select Size" value="number:1">Select Size</option> 
<option label="Select Jean Color" value="number:2">Select Jean Color</option> 
<option label="Select Jean Fit" value="number:3">Select Jean Fit</option> 
<option label="Select Rise" value="number:4">Select Rise</option> 
</select> 

내가 선택에 모두 ng-init을 시도

JSON을 내 기본 옵션. 하지만 내 드롭 다운에 채워지지 않습니다. 도와주세요. AngularJS와 귀하의 요구 사항에 따라 드롭 다운의 경우 신청 ng-model에 문자열 값을 필요로하기 때문에

+0

당신이 거주하시는 귀하의 json을 게시하십시오. – Sajeetharan

+0

페이지로드시'conditions' 변수가 값을 갖지 않을 수 있습니다. 참고로, DOM을 컴파일 할 때 호출됩니다. –

+0

@PankajParkar 'conditions.fieldId' 나는'1'을 얻고 있습니다 – Chinmay235

답변

0

당신은 된 직후

$scope.fieldId='1'; 

같은 문자열로 fieldId를 초기화해야합니다, 당신은 같은 ng-init를 사용하여 문자열로 conditions.filedId을해야 -

<div ng-repeat="conditions in attributes.conditionalLogic.rules"> 
    <select class="form-control" ng-init="conditions.fieldId=conditions.fieldId.toString()" name="conditon_dropdown" ng-model="conditions.fieldId" ng-change="" ng-options="option.id as option.placeholder for option in attributes"></select> 
</div> 

이 정보가 도움이되기를 바랍니다.

+0

'conditions.fieldId = conditions.fieldId.toString()'이 조건은 false입니다. – Chinmay235

+0

@chinu, false가 나오나요? 귀하의 요점은 여기에 있습니다. 그냥 조건을 초기화하는 중입니다. 필드에 문자열을 입력하십시오. –

+0

현재 값이 선택되지 않았습니다. – Chinmay235