我需要将文本"(Default)"
添加到所选选项文本中。请帮帮我......
文字应为"签证1881(默认)"。
但它只显示"Visa 1881"
。这是我的代码:
<select ng-options="item.brand + ' ' + item.last_digits for item in approvedinvoicesCtrl.current_job.cards" ng-model="approvedinvoicesCtrl.GetCard"></select>
var vmc = this;
vms.current_job = response.data.payment_info;
for (var i = 0; i < vmc.current_job.cards.length; i++){
if (vmc.current_job.cards[i].is_default){
vmc.GetCard = vmc.current_job.cards[i] + ' (Default)';
}
}
我得到的是this,
我需要的是this。
感谢。
答案 0 :(得分:0)
尝试使用ng-init
默认值初始化:
<select ng-init=" approvedinvoicesCtrl.GetCard = initialValue"
ng-model="approvedinvoicesCtrl.GetCard"
ng-options="item.brand + ' ' + item.last_digits for item in approvedinvoicesCtrl.current_job.cards">
</select>
已更新:
jsfiddle链接:
https://jsfiddle.net/avnesh2/g2j6863a/6/
按你的意愿工作。
希望这会奏效。
答案 1 :(得分:0)
在您的if()
声明中,您将值分配给cards[i].is_default
而不是评估。因此,不仅您的条件始终为true
,cards[i].is_default
值也将为(String) "true"
。
if (this.current_job.cards[i].is_default = 'true')
// Should be
if (this.current_job.cards[i].is_default == 'true')
您应该使用==
代替=
。
您希望option
文字为Visa 1881 (Default)
而不是Visa 1881
吗?
在这种情况下,您只需在值中添加一个字符串:
this.GetCard = this.current_job.cards[i] + ' (Default)';