如何使用jquery选择显示输入字段并选择它们

时间:2014-07-27 07:57:04

标签: javascript jquery

我使用的形式如下:

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

工作正常,但是当字段显示时,那么这个字段是否需要?

1 个答案:

答案 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