2016-10-20 17 views
1

Angular.js値を使用して同じ値を使用して一致して動作する数値と範囲入力があります。値が0に設定されている場合(つまり、ページロード時にデフォルトでは$scope.lbs_needed = 0;が表示されます)、数値または範囲入力の値が0に設定されたときに0が表示されていない場合は、placeholder="0"を表示します。彼らは手動ここで、デフォルトは0値の代わりに数値と範囲入力の代わりにプレースホルダを追加する - Angular.js

を削除することなく、ユーザーの入力は私のhtmlです:私が正しく理解していれば

ので
<form> 
    <div class="form-group"> 
     <label for="number">Pounds of nitrogen desired per acre:</label> 
     <input type="number" class="form-control number-input" id="number" ng-model="lbs_needed" ng-change="calculate2()" value="{[{lbs_needed}]}" min="0" max="500" value="{[{lbs_needed}]}" placeholder="0"> 
     <input type="range" min="0" max="500" class="form-control" id="number" ng-model="lbs_needed" ng-change="calculate2()" value="{[{lbs_needed}]}" placeholder="0"> 
    </div> 
</form> 

答えて

0

、あなたはテキストボックスは、デフォルト値を持つようにしたいが、また、それは瞬時に変更可能にしたいですユーザーがデフォルトを超えてバックスペースする必要はありません。

試用版:

var input = document.getElementById('change-default'); 
 

 
input.onfocus = function() { 
 
    if (input.value == 0) { 
 
    input.value = ''; 
 
    } 
 
} 
 

 
input.onblur = function() { 
 
    if (input.value == '') { 
 
    input.value = '0'; 
 
    } 
 
}
<input type="number" placeholder="0" value="0" id="change-default">

focusイベントのために待機している私は何をやっている、あなたはまた、代わりにonfocusaddEventListenerを使用することができます。

入力ボックスの値が0の場合、ユーザーが値を入力する準備ができました。

関連する問題