这是代码
$('#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' or '1'
禁用时才会禁用包含||
的字符串,依此类推,但我可以&# 39;弄清楚。我尝试使用{{1}}将不同区域放在括号中,但没有任何效果。
答案 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 ?
});
你当然需要一个带有这些值的选项的选择元素
答案 1 :(得分:0)
如果我理解你想要正确地禁用你的选项,你可以使用prop
函数也需要function
作为它的第二个参数的事实,这样你就可以使用它了使用选择器启动以简化代码。
例如:
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;
});