Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何结合范围滑块清空输入字段?_Javascript_Html_Angularjs_Angular_Input - Fatal编程技术网

Javascript 如何结合范围滑块清空输入字段?

Javascript 如何结合范围滑块清空输入字段?,javascript,html,angularjs,angular,input,Javascript,Html,Angularjs,Angular,Input,我有一个带有最小值和最大值的范围滑块,它由带有输入字段的ng模型绑定。 但不可能有空的输入字段,通过退格,输入字段的值始终是最小值或指定的最小值和最大值之间的中间值 如何使输入字段在backspace上也为空,以便用户可以自行填充值 例如: 如果用户希望填写例如250作为值,他需要在输入字段中用CTRL+A选择该值,并用250替换该值。现在不可能将1(从最小值)更改为2来填充250。另一种选择是使用键盘上的箭头 <input type="number" ng-model="slid

我有一个带有最小值和最大值的范围滑块,它由带有输入字段的ng模型绑定。 但不可能有空的输入字段,通过退格,输入字段的值始终是最小值或指定的最小值和最大值之间的中间值

如何使输入字段在backspace上也为空,以便用户可以自行填充值

例如: 如果用户希望填写例如250作为值,他需要在输入字段中用CTRL+A选择该值,并用250替换该值。现在不可能将1(从最小值)更改为2来填充250。另一种选择是使用键盘上的箭头

<input type="number"
    ng-model="sliderElement.value"
    ng-change="setRange()">

<input type="range" 
    ng-model="sliderElement.value" 
    min="{{rangeSliderMinValue}}" max="{{rangeSliderMaxValue}}" 
    step="{{rangeSliderStep}}" 
    ng-change="setRange()"/>

您是否对滑块使用指令?这有点令人困惑,因为在javascript中,您选择的是一个
范围滑块
类,但该类在您显示的标记中不存在。不,范围滑块是输入标记外的div容器。您可以创建一个,因为我刚刚尝试了一个小测试,并且能够毫无问题地清除输入。或者我不太明白你到底遇到了什么问题。
this.sliderElement.value = 50;
this.rangeSliderMinValue = 1;
this.rangeSliderMaxValue = 400;
this.rangeSliderStep = 1;

setRange() {
const rangeSliderElement = this.element[0].querySelector('.range-slider').getElementsByTagName('input')[0];

const val = (rangeSliderElement.value - this.rangeSliderMinValue) / (this.rangeSliderMaxValue - this.rangeSliderMinValue);

rangeSliderElement.style.backgroundImage = '-webkit-gradient(linear, left top, right top, '
     + 'color-stop(' + val + ', red), '
     + 'color-stop(' + val + ', green)'
     + ')';
}