Javascript Jquery根据条件生成if语句

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($(

我在jquery中组合if-else函数时遇到问题,它无法显示选择条件的正确性

下面是我的代码:


$(文档).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;
    }
  });
});