+ -
当前位置:首页 → 问答吧 → 请问各位一个jquery的change,remove问题

请问各位一个jquery的change,remove问题

时间:2010-05-20

来源:互联网

我想用id1的change事件控制表单项id2/id3/id4,但是出现了问题,如果先选了id1的2再选1,则无法恢复已经被remove的表单项id2和id3,请问要怎么解决才使功能正常,即如果id1的值为1时,则显示id2,id3,id4,如果值为2,则只显示id2移除id3,id4
//js代码
//-----------------------------------------
$("#id2").hide();
$("#id3").hide();
$("#id4").hide();
$('#id1').change(function(){  
var id1=$('#id1').val();
if (id1!=''){
switch(id1){
case '1':
$("#id2").show();
$("#id3").show();
$("#id4").show();
break;
case '2':
$("#id2").show();
$("#id3").remove();
$("#id4").remove();
break;

}
};

});
//-----------------------------------------
html内容
 <select name="id1" id="id1" >
  <option value="">请选择</option>
  <option value="1">1</option>
  <option value="2">2</option>
</select>
<input name="id2" id="id2" type="text" />
<input name="id3" id="id3" type="text" />
<input name="id4" id="id4" type="text" />

作者: wl_xc   发布时间: 2010-05-20

remove:从DOM中删除所有匹配的元素。
既然已经删除了,当然没办法show了,show只是纯粹的吧hide的内容显示出来,并没有新增元素的动作。代码里面的remove改用hide应该就可以了吧。

作者: jokeykiss   发布时间: 2010-05-21