重置未选择的下拉字段的值

时间:2013-05-01 01:55:47

标签: javascript jquery html

我有一个Dropbox,当它被选中时会显示其各自的字段

在第一张图片中,您可以看到有一个没有ID的人,所以当选中它时会显示 类似的东西:

enter image description here

如果你看到我添加了12

现在,如果我改变主意并选择其他选项(具有ID的人),则会显示一个字段,如: enter image description here

我添加了9999

没关系,但现在如果我再次改变主意并返回到其他选定选项,那么值仍然存在: enter image description here

我想清理它们......我怎样才能完成它?

再次填充所有相应字段无关紧要,如果选择,我想在这种情况下重置值 没有身份证的人,删除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');
            }

        };

1 个答案:

答案 0 :(得分:1)

只需进行此更改:

$('#has_id').change(function () {
    $('.persons input').val('');
    $('.persons').hide();
    $('#' + $(this).val()).show();
});

新小提琴:http://jsfiddle.net/6m27M/

只要对#has_id下拉列表进行更改,这只会清除所有值。