Ai đó có thể vui lòng giúp tôi làm ví dụ về tình trạng phụ thuộc của Nhà nước/Tiểu bang không?Angularjs kích hoạt phụ thuộc trạng thái quốc gia
Tôi cố ý tạo JSON theo cách này bởi vì tôi muốn phụ thuộc là chung, vì vậy tôi có thể áp dụng nó trên bất kỳ menu thả xuống nào khi chỉ sử dụng Meta Data chứ không phải HTML.
Dưới đây là a link để xem một ví dụ về mã trong JSFidlle
HTML
Country:<select data-ng-model="Countries" data-ng-options="country.id as country.name for country in Countries.items">
<option value="">Please select a country</option>
</select>
State: <select data-ng-model="currentItem" data-ng-options="item.id as item.name for item in currentStates.items">
<option value="">Please select a state</option>
</select>
Mã JavaScript:
function Controller($scope) {
var Countries = {
"id": "field10",
"items": [{
"id": "10",
"StateGroupID":"0",
"name": "United State"
},
{
"id": "2",
"StateGroupID":"1",
"name": "Canada"
}]
};
var States =
{ "id": "field20",
"StateGroups": [{
"items": [{ "id": "1",
"name": "Alabama"
},
{
"id": "2",
"name": "Alaska"
},
{ "id": "3",
"name": "Arizona"
},
{ "id": "4",
"name": "California"
}]},
[{ "id": "201",
"name": "Alberta"
},
{
"id": "202",
"name": "British Columbia"
},
{
"id": "303",
"name": "Manitoba"
},
{
"id": "304",
"name": "Ontario"
}]]
};
$scope.Countries = Countries;
$scope.currentStates = States.StateGroups[0];
$scope.$watch('currentStates', function(value, oldValue){
//alert(value);
//alert(JSON.stringify(value));
//$scope.currentStates = (value == "10") ? States.StateGroups[0] : States.StateGroups[1];
});
}
câu trả lời của bạn rất hữu ích với tôi. Bạn đã hướng tôi đến lỗi trong cấu trúc JSON cũng như HTML giúp tôi hiểu rõ hơn về lỗi của mình và cách khắc phục chúng và cuối cùng làm cho ví dụ của tôi hoạt động. Ví dụ của bạn tốt hơn ví dụ của tôi nhưng ** tại sao bạn sử dụng [ng-repeat] thay vì [ng-options] **? – Scription
Tôi rất vui vì nó đã giúp bạn. Lần lặp lại đầu tiên tôi sử dụng chủ yếu là để buộc thuộc tính 'value' của mỗi mục, tôi thấy việc sửa đổi này dễ dàng hơn trong khi thử nghiệm, nhưng bạn có thể làm cho nó hoạt động với ng-options. Thứ hai, tôi đã lười biếng và tôi sao chép/dán một phần lớn của ng-lặp lại 3 dòng ở trên;). Vì vậy, trong ngắn hạn, bạn có thể sử dụng ng-tùy chọn nếu bạn muốn, nó sẽ làm việc tốt :) – DotDotDot