2015-11-02 31 views
0

在角1.2.19中,是否存在模板的三元運算符,它允許我顯示變量是輸入值(如果存在),如果不存在,那麼只需顯示佔位符?如果存在變量,則顯示輸入文本字段值,否則顯示佔位符

有點像這樣:

<input type="text "{{ if phoneNumber ? "value='{{phoneNumber}}'" : "placeholder='{{ language.placeHolder}}'"}} 

編輯:這是我當前的HTML:

<input type="text"name="buyPhoneNumber" id="buyPhoneNumber" value="{{ phoneNumber }}" 
class="form-control input-lg" placeholder="{{language.phoneNumberHolder}}" 
         ng-model="buyObj.pinOrPhonenumber" 
         ng-change="buyChange();" 
         on-change-phone-number/> 
+1

何必有條件地將一個佔位符?添加它,它只會在沒有輸入時顯示。這項工作已經爲你完成了。 –

+0

@HarrisWeinstein出於某種原因,佔位符似乎被優先考慮,即使有輸入值也顯示出來。我正在使用最新的Chrome –

+0

@SatoBolin你能告訴我們你最初是如何嘗試使用佔位符的嗎? –

回答

1

使用的角度鬍子表達和ng-value

<input ng-value="{{ phoneNumber }}" placeholder="{{ phoneNumber ? language.placeHolder : '' }}" /> 

小鬍子的表達是常規的JavaScript ,所以你可以使用正常的三元表達式。

您還可以隱藏通過CSS的佔位符:

input:focus::-webkit-placeholder { 
    color: transparent; 
} 
input:focus::-moz-placeholder { 
    color: transparent; 
} 
+0

我會用ng-model而不是ng-value。 –

相關問題