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”,因为这些更改是在不同的选择中进行的。