Javascript Jquery根据条件生成if语句
我在jquery中组合if-else函数时遇到问题,它无法显示选择条件的正确性 下面是我的代码:Javascript Jquery根据条件生成if语句,javascript,jquery,if-statement,Javascript,Jquery,If Statement,我在jquery中组合if-else函数时遇到问题,它无法显示选择条件的正确性 下面是我的代码: $(文档).ready(函数(){ $('#parentid').change(function(){ if($(this).val()=='0'){ $(“#活动代码,#活动名称,#子活动代码,#子活动名称,#事务代码,#事务名称”).attr('readonly',readonly'); }否则{ $(“#活动代码,#活动名称”).removeAttr('readonly'); } if($(
$(文档).ready(函数(){
$('#parentid').change(function(){
if($(this).val()=='0'){
$(“#活动代码,#活动名称,#子活动代码,#子活动名称,#事务代码,#事务名称”).attr('readonly',readonly');
}否则{
$(“#活动代码,#活动名称”).removeAttr('readonly');
}
if($(this).val()=='1'){
$(“#功能代码,#功能名称,#子活动代码,#子活动名称,#事务代码,#事务名称”).attr('readonly',readonly');
}否则{
$(“#活动代码,#活动名称”).removeAttr('readonly');
}
if($(this).val()=='2'){
$(“#功能代码,#功能名称,#活动代码,#活动名称,#事务代码,#事务名称”).attr('readonly',readonly');
}否则{
$('sub#u activity_code,'sub#u activity_name')。removeAttr('readonly');
}
if($(this).val()=='3'){
$(“#功能代码,#功能名称,#活动代码,#活动名称,#子活动代码,#子活动名称”).attr('readonly',readonly');
}否则{
$(“#事务#代码,#事务#名称”).removeAttr('readonly');
}
if($(this).val()=='4'){
$(“#功能代码,#功能名称,#活动代码,#活动名称,#子活动代码,#子活动名称,#事务代码,#事务名称,#类别,#请求人”)。attr('readonly',readonly');
}
});
});
其实我希望输出显示在下面,我希望输出显示正确我选择的类别号,下面的图片会得到更清晰的描述,希望有人能指导我如何解决这些问题:
这是我的html代码:要降低代码/复杂性,您需要在开始时将输入重置为其“默认”位置,然后根据需要应用: 使用您提供的代码,进行最小的更改(添加了一个
开关,而不是多个if):
有控制台错误吗?没有。只是没有根据我的if-else语句进行只读。您缺少的是,您需要从顶部的“默认”位置开始-锁定所有内容或解锁所有内容。然后为每个值添加一个if,该if根据需要锁定/解锁。谢谢@freedomn-m回答。您能给我演示一下如何锁定或解锁的示例吗?与您已有的代码相同-顶部只有一行代码适用于每个if
中的所有控件,然后是单个控件。对于“lock/unlock”,我的意思是“readonly/available”(对于“0”,它们可能应该是“#function"”,但保留与问题中相同的代码,概念相同),我可以再问您一个问题吗?如何添加代码成为可以在只读中显示值,如果我选择类别号1、2、3,只读可以显示记录对不起,我不明白你在附加问题中的意思。您可以添加一个新的SO问题,也许其他人可以提供帮助(如果您愿意,请链接此处)。除非您是指$(“#id”).val($(this).val())
在中选择
更改事件。
$(document).ready(function() {
$('#parentid').change(function() {
// Set all to readonly
$('#activity_code,#activity_name,#activity_code,#activity_name,#sub_activity_code,#sub_activity_name,#transaction_code,#transaction_name').attr('readonly', 'readonly');
// check each value and make relevant inputs available
switch ($(this).val()) {
case "0":
$('#activity_code, #activity_name').removeAttr('readonly');
break;
case "1":
$('#activity_code, #activity_name').removeAttr('readonly');
break;
case "2":
$('#sub_activity_code, #sub_activity_name').removeAttr('readonly');
break;
case "3":
$('#transaction_code,#transaction_name').removeAttr('readonly');
break;
case "4":
// all readonly as above
break;
}
});
});