2つのドロップダウンがあります(最小値のドロップダウンと最大値のドロップダウン)。最初のドロップダウンの値を2番目のドロップダウンより大きい値で選択すると、その値をスワップする必要があります。しかし、私は通常のスワップメソッドを使用して、それは入力ボックスのためだけに働いています。ここでドロップダウンの値を入れ替える方法は?
は私のカスタムドロップダウンコードです:
HTML:
<div class="dropdown">
<ul>
<li class="prfdwn" data-value="value" ng-repeat="value in data" ng-
click="setMaxVal(val)" ng-blur="swap()">{{value.txt}}</li>
</ul>
</div>
<div class="dropdown">
<ul>
<li class="prfdwn" data-value="value" ng-repeat="value in data" ng-
click="setMinVal(val)" ng-blur="swap()">{{value.txt}}</li>
</ul>
</div>
JS:
$scope.data = [{
"id": 1,
"txt": 1,
},
{
"id": 2,
"txt": 2,
},
{
"id": 3,
"txt": 3,
},
{
"id": 4,
"txt": 4,
},
{
"id": 5,
"txt": 5,
}];
vm.swap = function() {
if (vm.minVal != "" && vm.minVal != undefined && vm.maxVal != "" &&
vm.maxVal != undefined) {
if (vm.minVal > vm.maxVal) {
var tempVal = vm.minVal;
vm.minVal = vm.maxVal ;
vm.maxVal = tempVal;
}
}
}
どのように私はこの問題を解決することができますか?
'blur'イベントは、デフォルトではそれがフォーカスを取得していないので、' li'要素で発生するつもりはありません。 'ng-click'と' ng-blur'を 'li'の中にネストされたアンカー要素に移動したいかもしれません。 –
@ Mike McCaughanあなたは明確に説明できますか? – anub