jQuery可以生成选择元素

我有一个页面,其中包含三个选择选项元素cat1,cat2,cat3。预期的行为是当我单击cat1时应生成cat2,而当我单击cat2时应生成cat3。我正在使用jquery-3.4.1。单击cat2时无法生成cat3。

<html>
<head>
<script type='text/javascript'
  src='D:/test/jquery-form/jquery-3.4.1.js'></script>
<script type="text/javascript">
  $(document).ready(function() {
    //change cat1
    $("#cat1").change(function(){
     console.log('cat1-change value');
     $('#cat2').remove();
     $('#frm').append("<select name='cat2' id='cat2'></select>");
     for(var i=1;i<5;i++)
     {
        str='<option value='+i+'>C2'+i+'</option>';
        $('#cat2').append(str);
     }
    });
    //change cat2
    $("#cat2").change(function(){
     $('#cat3').remove();
     $('#frm').append("<select name='cat3' id='cat3'></select>");
     for(var i=1;i<5;i++)
     {
        str='<option value=C3'+i+'>'+'C3'+i+'</option>';
        $('#cat3').append(str);
     }
    });
  });
</script>
</head>
<body>
 <form id="frm" name="frm" method="post">
  Cat1: 
  <select id="cat1">
    <option value="1">A</option>
    <option value="2">B</option>
    <option value="3">C</option>
  </select><br>
  <br />
  </form>
</body>
</html>
ai520119 回答:jQuery可以生成选择元素

$(document).ready(function() {
    //change cat1
    $("#cat1").change(function(){
     console.log('cat1-change value');
     $('#cat2').remove();
     $('#frm').append("<select name='cat2' id='cat2'></select>");
     for(var i=1;i<5;i++)
     {
        str='<option value='+i+'>C2'+i+'</option>';
        $('#cat2').append(str);
     }
    });
    //change cat2
    $("#frm").on('change','#cat2',function(){
     $('#cat3').remove();
     $('#frm').append("<select name='cat3' id='cat3'></select>");
     for(var i=1;i<5;i++)
     {
        str='<option value=C3'+i+'>'+'C3'+i+'</option>';
        $('#cat3').append(str);
     }
    });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="frm">
  <select id="cat1">
    <option value="1">1</option>
    <option value="1">1</option>
  </select>
</form>

尝试一下:

$(document).ready(function() {
    //change cat1
    $("#cat1").change(function(){
     console.log('cat1-change value');
     $('#cat2').remove();
     $('#frm').append("<select name='cat2' id='cat2'></select>");
     for(var i=1;i<5;i++)
     {
        str='<option value='+i+'>C2'+i+'</option>';
        $('#cat2').append(str);
     }
    });
    //change cat2
    $("#frm").on('change',function(){
     $('#cat3').remove();
     $('#frm').append("<select name='cat3' id='cat3'></select>");
     for(var i=1;i<5;i++)
     {
        str='<option value=C3'+i+'>'+'C3'+i+'</option>';
        $('#cat3').append(str);
     }
    });
  });
本文链接:https://www.f2er.com/3155004.html

大家都在问