我有一个使用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>
答案 0 :(得分: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';
}
}
&#13;
<input type="number" placeholder="0" value="0" id="change-default">
&#13;
我正在做的是收听focus
事件,您也可以使用addEventListener
代替onfocus
。
如果输入框的值为0
,则删除其值以供用户输入。{/ p>