当值为0时,在数字和范围输入中添加占位符而不是值 - Angular.js

时间:2016-10-20 17:34:43

标签: javascript jquery angularjs input

我有一个使用Angular.js值使用相同值协同工作的数字和范围输入。当该值设置为0时(默认情况下,当页面加载$scope.lbs_needed = 0;时,我想在数字或范围输入的值设置为0时显示placeholder="0",这样0值不在用户输入的前面,而不必手动删除默认值0.

这是我的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>

1 个答案:

答案 0 :(得分:0)

因此,如果我理解正确,您希望文本框具有默认值,但也希望它可以立即更改,而用户不必退回默认值?

试试这个:

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

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

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

我正在做的是收听focus事件,您也可以使用addEventListener代替onfocus

如果输入框的值为0,则删除其值以供用户输入。{/ p>