jquery如何实现动态增加选择框

不羁岁月 提交于 2020-05-02 09:19:11

jquery如何实现动态增加选择框

一、总结

一句话总结:用jquery的clone(true)方法。

 

1、如何在页面中复制amazeui加了特效的标签?

amazeui中的控件带js方法,不知道那部分js的情况下,只有不用功能才能方便用clone(true)复制

 

2、选兄弟选不到的时候怎么选元素?

通过父亲选儿子,照样可以达到相同的功能

 

3、表单中的控件如何让它不能提交过去?

控件设置为disabled

 

 

二、jquery如何实现动态增加选择框

 

 

  1 <script>
  2     function taskRewardHidden(){
  3         $('div.goods').hide();
  4         $('div.goods').find($('select')).attr({'disabled':'disabled'});
  5         $('div.attribute').hide();
  6         $('div.attribute').find($('select')).attr({'disabled':'disabled'});
  7     }
  8     taskRewardHidden();
  9     $('div.attribute').show();
 10     $('div.attribute').find($('select')).removeAttr('disabled');
 11 
 12     //把作为复制之用的那个item的所有东西都设置为disabled,避免提交
 13     //$('.task_reward_list_item:first').find($('select,input[type=number]')).attr({'disabled':'disabled'});
 14 
 15     $('div.reward_type').children("select").change(function () {
 16         //$(this)就有选出来的就有问题
 17         var type=$(this).val();
 18         //alert($(this).html());
 19         //alert($(this).parent().parent().children('.goods').html());
 20         $(this).parent().parent().children('.goods').hide();
 21         $(this).parent().parent().children('.goods').find($('select')).attr({'disabled':'disabled'});
 22         $(this).parent().parent().children('.attribute').hide();
 23         $(this).parent().parent().children('.attribute').find($('select')).attr({'disabled':'disabled'});
 24         $(this).parent().parent().children('.'+type).show();
 25         $(this).parent().parent().children('.'+type).find($('select')).removeAttr('disabled');
 26 
 27         //taskRewardHidden();
 28         //$('div.'+type).show();
 29     });
 30 
 31     //增加一个隐藏的task_reward_list_item做复制之用
 32     $('.task_btn_addReward').click(function () {
 33         //把作为复制之用的那个item的所有东西都设置的disabled移去,方便复制
 34         $('.task_reward_list_item:first').find($('select,input[type=number]')).removeAttr('disabled');
 35         //复制过来的东西因为只显示了属性,所以还要把物品设置成disabled
 36         $('.task_reward_list_item:first').find($('div.goods').find($('select'))).attr({'disabled':'disabled'});
 37         //复制
 38         var new_task_reward_list_item=$('.task_reward_list_item:first').clone(true);
 39 
 40         //var new_task_reward_list_item=$('.task_reward_list_item:first').find($('select,input[type=number]')).removeAttr('disabled').end().clone(true);
 41         //显示
 42         new_task_reward_list_item.show().animate({
 43             'top': '-500px', opacity: '0.5'
 44         }, 1);
 45         $('div.task_reward_list_group').animate({
 46             borderWidth: 15
 47         },10);
 48         new_task_reward_list_item.animate({
 49             'top': '0', opacity: '1'
 50         }, 500,'swing');
 51         //alert($('div.task_reward_list_group').length);
 52         $('div.task_reward_list_group').css({
 53             'border-bottom': '5px groove'
 54         });
 55         $('div.task_reward_list_group').animate({
 56             borderWidth: 15
 57         },499);
 58         $('div.task_reward_list_group').animate({
 59             borderWidth: 7
 60         },1);
 61         new_task_reward_list_item.animate({
 62             'top': '-130px', opacity: '1'
 63         }, 200,'linear');
 64         new_task_reward_list_item.animate({
 65             'top': '0', opacity: '1'
 66         }, 200,'linear');
 67         $('div.task_reward_list_group').animate({
 68             borderWidth: 7
 69         },399);
 70         $('div.task_reward_list_group').animate({
 71             borderWidth: 3
 72         },1);
 73         new_task_reward_list_item.animate({
 74             'top': '-65px', opacity: '1'
 75         }, 200,'linear');
 76         new_task_reward_list_item.animate({
 77             'top': '0', opacity: '1'
 78         }, 200,'linear');
 79         $('div.task_reward_list_group').animate({
 80             borderWidth: 3
 81         },399);
 82         $('div.task_reward_list_group').animate({
 83             borderWidth: 1.5
 84         },1);
 85         new_task_reward_list_item.animate({
 86             'top': '-30px', opacity: '1'
 87         }, 200,'linear');
 88         new_task_reward_list_item.animate({
 89             'top': '0', opacity: '1'
 90         }, 200,'linear');
 91         $('div.task_reward_list_group').animate({
 92             borderWidth: 1.5
 93         },399);
 94         $('div.task_reward_list_group').animate({
 95             borderWidth: 0
 96         },1);
 97 
 98         //alert($('.task_reward_list_item:first').find($('select,input[type=number]')).length);
 99         //alert(new_task_reward_list_item.html());
100         //alert(new_task_reward_list_item.html());
101         $('.task_reward_list_group').append(new_task_reward_list_item);
102         //把作为复制之用的那个item的所有东西都设置为disabled,避免提交
103         $('.task_reward_list_item:first').find($('select,input[type=number]')).attr({'disabled':'disabled'});
104 
105         //把第一个奖励列表数据拿来用用
106     });
107 
108     //关闭方法
109 
110     $('.task_reward_list_item_close').click(function () {
111         //alert($('.task_reward_list_item_close').length);
112         //alert($('.task_reward_list_item_close').eq(0));
113         //alert($(this).parent().index());
114         //找出它的索引号,判断索引号是不是0来解决
115         //比较用数字来比较比较好
116         if($(this).parent().index()==1) alert('第一个不能删!');
117         else{
118             $(this).parent().hide();
119             //alert($(this).parent().find($('select,input[type=number]')).length);
120             $(this).parent().find($('select,input[type=number]')).attr({'disabled':'disabled'});
121         }
122         //隐藏的元素不让传参数
123     });
124 
125     //执行js的时候,php早走完了,所以选项只有一份,当时可以通过dom把数据弄过来
126     //以为这里涉及到amaze ui里面的js,所以会出错
127     //不用amaze ui的这个选择框特效就特别好做了
128 
129 </script>

 

 

 

 

 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!