我使用的形式如下:
<form id="clac" action="#" method="post">
<select onchange="func_type()" name="t_person" id="t_person" class="t_person_class">
<option value="0" selected>select persons</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">three</option>
</select>
<input id="t_person_name1"><br/>
<input id="t_person_name2"><br/>
<input id="t_person_name3"><br/>
<input type="submit" value="okGo">
</form>
并使用这样的脚本在选择选项时显示一些输入字段:
<script type="text/javascript">
$(document).ready(function(){
$('#t_person_name1').hide();
$('#t_person_name2').hide();
$('#t_person_name3').hide();
$.viewMap = {
'0' : $([]),
'1' : $('#t_person_name1'),
'2' : $('#t_person_name1,#t_person_name2'),
'3' : $('#t_person_name1,#t_person_name2,#t_person_name3')
};
$('#t_person').change(function() {
// hide all
$.each($.viewMap, function() {
this.hide('500');
});
// show current
$.viewMap[$(this).val()].show('500');
});
})
</script>
工作正常,但是当字段显示时,那么这个字段是否需要?
答案 0 :(得分:0)
尝试这样的事情:
相反:
$.each($.viewMap, function() {
this.hide('500');
});
$.viewMap[$(this).val()].show('500');
做:
$.each($.viewMap, function() {
this.hide('500').prop('required',false);
});
$.viewMap[$(this).val()].show('500').prop('required',true);
查看jsFiddle