각도 JS를 사용하여 드롭다운 리스트 컨트롤의 선택된 옵션을 설정하는 방법
Angular JS를 사용하고 있으며 Angular JS를 사용하여 드롭다운 목록 컨트롤의 선택된 옵션을 설정해야 합니다.어처구니없다면 용서해주십시오만, 저는 Angular JS에 익숙하지 않습니다.
여기 내 html의 드롭다운 목록 컨트롤이 있습니다.
<select ng-required="item.id==8 && item.quantity > 0" name="posterVariants"
ng-show="item.id==8" ng-model="item.selectedVariant"
ng-change="calculateServicesSubTotal(item)"
ng-options="v.name for v in variants | filter:{type:2}">
</select>
사람이 몰린 후에 나는 얻는다.
<select ng-options="v.name for v in variants | filter:{type:2}" ng-change="calculateServicesSubTotal(item)"
ng-model="item.selectedVariant" ng-show="item.id==8" name="posterVariants"
ng-required="item.id==8 && item.quantity > 0" class="ng-pristine ng-valid ng-valid-required">
<option value="?" selected="selected"></option>
<option value="0">set of 6 traits</option>
<option value="1">5 complete sets</option>
</select>
제어는 어떻게 설정합니까?value="0"
뽑힐까?
제가 당신의 질문을 이해했으면 합니다만,ng-model
디렉티브는 컨트롤에서 선택한 항목과 값 사이에 양방향 바인딩을 만듭니다.item.selectedVariant
즉, 변경은item.selectedVariant
는 JavaScript에서 또는 컨트롤에서 값을 변경하면 다른 값을 업데이트합니다.한다면item.selectedVariant
의 가치가 있다0
, 그 아이템이 선택됩니다.
한다면variants
오브젝트 배열입니다.item.selectedVariant
이러한 객체 중 하나로 설정해야 합니다.범위 내에 어떤 정보가 포함되어 있는지 알 수 없지만, 예를 들어 다음과 같습니다.
JS:
$scope.options = [{ name: "a", id: 1 }, { name: "b", id: 2 }];
$scope.selectedOption = $scope.options[1];
HTML:
<select data-ng-options="o.name for o in options" data-ng-model="selectedOption"></select>
그러면 "b" 항목이 선택됩니다.
이것이 도움이 될지 어떨지는 모르겠지만, 같은 문제에 직면해 있기 때문에, 어떻게 해결책을 얻을 수 있었는지에 대해 공유하려고 생각하고 있습니다.
속성에 의한 트랙을 사용하여ng-options
.
다음과 같이 가정합니다.
variants:[{'id':0, name:'set of 6 traits'}, {'id':1, name:'5 complete sets'}]
다음 중 하나를 언급할 수 있습니다.ng-options
다음과 같이 합니다.
ng-options="v.name for v in variants track by v.id"
이것이 미래에 누군가에게 도움이 되기를 바랍니다.
값 0을 할당한 경우item.selectedVariant
자동으로 선택되어야 합니다.http://docs.angularjs.org/api/ng.directive:select에서 샘플을 확인하세요.이 샘플은 단순히 할당만 하면 기본적으로 빨간색이 선택됩니다.$scope.color='red'
.
여기 보니까 이미 좋은 답변을 써놨는데, 가끔은 다른 형식으로 써보는 것도 도움이 될 수 있어요.
<div ng-app ng-controller="MyCtrl">
<select ng-model="referral.organization" ng-options="c for c in organizations"></select>
</div>
<script type='text/javascript'>
function MyCtrl($scope) {
$scope.organizations = ['a', 'b', 'c', 'd', 'e'];
$scope.referral = {
organization: $scope.organizations[2]
};
}
</script>
간단한 방법
사용자 응답 또는 어레이/J가 있는 경우정의한 SON, 먼저 컨트롤러에서 선택한 값을 설정한 후 동일한 모델 이름을 html로 입력해야 합니다.이 예는 내가 가장 쉽게 설명하기 위해 쓴 것이다.
간단한 예
내부 컨트롤러:
$scope.Users = ["Suresh","Mahesh","Ramesh"];
$scope.selectedUser = $scope.Users[0];
HTML
<select data-ng-options="usr for usr in Users" data-ng-model="selectedUser">
</select>
복잡한 예
내부 컨트롤러:
$scope.JSON = {
"ResponseObject":
[{
"Name": "Suresh",
"userID": 1
},
{
"Name": "Mahesh",
"userID": 2
}]
};
$scope.selectedUser = $scope.JSON.ResponseObject[0];
HTML
<select data-ng-options="usr.Name for usr in JSON.ResponseObject" data-ng-model="selectedUser"></select>
<h3>You selected: {{selectedUser.Name}}</h3>
유용하게 쓸 수 있다.바인딩이 항상 기능하는 것은 아닙니다.
<select id="product" class="form-control" name="product" required
ng-model="issue.productId"
ng-change="getProductVersions()"
ng-options="p.id as p.shortName for p in products">
</select>
예를들면.rest-service에서 옵션 목록 소스 모델을 채웁니다.선택한 값은 목록 채우기에 대해 알려졌으며 설정되었습니다.$http list 옵션을 사용하여 rest-request를 실행한 후 실행됩니다.그러나 선택한 옵션이 설정되지 않았습니다.알 수 없는 이유로 각도섀도 $digest 실행 중인 JS는 should be로 바인드를 선택하지 않았습니다.JQuery를 사용하여 선택 항목을 설정해야 합니다.중요한 일이야!ng-repeat optinos에 의해 생성된 특성 "값" 값에 그림자가 각진 접두사를 추가합니다.int의 경우 "number:"입니다.
$scope.issue.productId = productId;
function activate() {
$http.get('/product/list')
.then(function (response) {
$scope.products = response.data;
if (productId) {
console.log("" + $("#product option").length);//for clarity
$timeout(function () {
console.log("" + $("#product option").length);//for clarity
$('#product').val('number:'+productId);
//$scope.issue.productId = productId;//not work at all
}, 200);
}
});
}
다음을 시도해 보십시오.
JS 파일
this.options = {
languages: [{language: 'English', lg:'en'}, {language:'German', lg:'de'}]
};
console.log(signinDetails.language);
HTML 파일
<div class="form-group col-sm-6">
<label>Preferred language</label>
<select class="form-control" name="right" ng-model="signinDetails.language" ng-init="signinDetails.language = options.languages[0]" ng-options="l as l.language for l in options.languages"><option></option>
</select>
</div>
선택한 값 집합에 사용한 코드입니다.
countryList: any = [{ "value": "AF", "group": "A", "text": "Afghanistan"}, { "value": "AL", "group": "A", "text": "Albania"}, { "value": "DZ", "group": "A", "text": "Algeria"}, { "value": "AD", "group": "A", "text": "Andorra"}, { "value": "AO", "group": "A", "text": "Angola"}, { "value": "AR", "group": "A", "text": "Argentina"}, { "value": "AM", "group": "A", "text": "Armenia"}, { "value": "AW", "group": "A", "text": "Aruba"}, { "value": "AU", "group": "A", "text": "Australia"}, { "value": "AT", "group": "A", "text": "Austria"}, { "value": "AZ", "group": "A", "text": "Azerbaijan"}];
for (var j = 0; j < countryList.length; j++) {
//debugger
if (countryList[j].text == "Australia") {
console.log(countryList[j].text);
countryList[j].isSelected = 'selected';
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<label>Country</label>
<select class="custom-select col-12" id="Country" name="Country" >
<option value="0" selected>Choose...</option>
<option *ngFor="let country of countryList" value="{{country.text}}" selected="{{country.isSelected}}" > {{country.text}}</option>
</select>
각진 틀에서 이것을 시도하다
JS:
$scope.options = [
{
name: "a",
id: 1
},
{
name: "b",
id: 2
}
];
$scope.selectedOption = $scope.options[1];
언급URL : https://stackoverflow.com/questions/17968760/how-to-set-a-selected-option-of-a-dropdown-list-control-using-angular-js
'programing' 카테고리의 다른 글
리액트 라우터 - 링크 대 리다이렉트 대 이력 (0) | 2023.02.24 |
---|---|
리액트 네이티브 뷰 내부 텍스트별 자동 너비 (0) | 2023.02.24 |
봄에 JSON 디시리얼라이저를 작성하거나 확장하기 위한 올바른 방법 (0) | 2023.02.24 |
Ajax - 500 내부 서버 오류 (0) | 2023.02.24 |
jQuery width()가 문서 준비 직후에 잘못되었습니까? (0) | 2023.02.24 |