我有一个Dropbox,当它被选中时会显示其各自的字段
在第一张图片中,您可以看到有一个没有ID的人,所以当选中它时会显示 类似的东西:
如果你看到我添加了12
现在,如果我改变主意并选择其他选项(具有ID的人),则会显示一个字段,如:
我添加了9999
没关系,但现在如果我再次改变主意并返回到其他选定选项,那么值仍然存在:
我想清理它们......我怎样才能完成它?
再次填充所有相应字段无关紧要,如果选择,我想在这种情况下重置值 没有身份证的人,删除9999,另一方面,如果我选择带有身份证的人,我想重置vakue 12
please take a look at my fiddle
一些jquery代码是:
//function available
function validate(id, msg) {
var obj = $('#' + id);
if(obj.val() == '0' || obj.val() == ''){
$("#" + id + "_field_box .form-error").html(msg)
return true;
}
return false;
}
$(function () {
$('#has_id').show();
$('#select_person').change(function () {
$('.persons').hide();
if ($('#select_person').val() == 'typeA') {
$("#has_id").html('');
$("<option/>").val('0').text('--Choose Type A--').appendTo("#has_id");
$("<option/>").val('person-A-withID').text('person-A-withID').appendTo("#has_id");
$("<option/>").val('person-A-withoutID').text('person-A-withoutID').appendTo("#has_id");
}
if ($('#select_person').val() == 'typeB') {
$("#has_id").html('');
$("<option/>").val('0').text('--Choose Type B--').appendTo("#has_id");
$("<option/>").val('person-B-withID').text('person-B-withID').appendTo("#has_id");
$("<option/>").val('person-B-withoutID').text('person-B-withoutID').appendTo("#has_id");
}
});
$('#has_id').change(function () {
$('.persons').hide();
$('#' + $(this).val()).show();
});
});
var validation = function(){
var err = 0;
err += validate('select_person', "select person.");
err += validate('has_id', "Select whether it has an ID or not.");
if(err == 0){
alert('continue');
}else{
alert('error');
}
};
答案 0 :(得分:1)
只需进行此更改:
$('#has_id').change(function () {
$('.persons input').val('');
$('.persons').hide();
$('#' + $(this).val()).show();
});
新小提琴:http://jsfiddle.net/6m27M/
只要对#has_id下拉列表进行更改,这只会清除所有值。