Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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 选择/更改jquery函数中的值范围_Javascript_Jquery - Fatal编程技术网

Javascript 选择/更改jquery函数中的值范围

Javascript 选择/更改jquery函数中的值范围,javascript,jquery,Javascript,Jquery,这是密码 $('#printlocs').on('change', function() { var selctloc = $('#printlocs').find('option:selected'); $('#loc1').prop('disabled', selctloc.val() == '0'); $('#loc2').prop('disabled', selctloc.val() == '0'); $('#loc3').prop('disabled',

这是密码

$('#printlocs').on('change', function() {
    var selctloc = $('#printlocs').find('option:selected');
    $('#loc1').prop('disabled', selctloc.val() == '0');
    $('#loc2').prop('disabled', selctloc.val() == '0');
    $('#loc3').prop('disabled', selctloc.val() == '0');
    $('#loc4').prop('disabled', selctloc.val() == '0');
});

我想使带有
#loc1
的字符串只有在等于
'0'
时才被禁用,
#loc2
'0'或'1'
等禁用,但我无法理解。我尝试使用
|
将不同的区域放在括号中,但没有任何效果。

只检查这些值

$('#printlocs').on('change', function() {
    $('#loc1').prop('disabled', (this.value == '0'));
    $('#loc2').prop('disabled', (this.value == '0' || this.value == '1'));
    $('#loc3').prop('disabled', (this.value == '0' || this.value == '2' || this.value == '3'));
    $('#loc4').prop('disabled', (this.value == '4')); // 4 only ?
});


当然,您确实需要一个select元素,该元素包含具有这些值的选项

,如果我理解您何时要正确禁用选项,您可以利用
prop
函数也将
函数
作为第二个参数的事实,这样您就可以利用它以及以选择器开头的函数来简化代码

例如:

var val = Number(selctloc.val());

$('[id^=prop]').prop('disabled', function () {
    //get the number of the element out of the id
    var num = Number(this.id.substring(3));

    //disable if the value is smaller than the number
    return val < num;
});
var val=Number(selctloc.val());
$('[id^=prop]')。prop('disabled',function(){
//从id中获取元素的编号
var num=Number(这个.id.substring(3));
//如果该值小于该数字,则禁用
返回val
请发布一个完整的代码示例,在本例中包括您正在使用jQuery的HTML。HTML代码不是找到解决方案所必需的。感谢您让我走上正轨。我试着发布新代码,但评论全搞乱了。我只需要用我的var替换“this”,因为这些更改是在不同的选择中进行的。