mergeAttributes用于表单输入和清除状态

时间:2012-11-29 17:07:58

标签: javascript jquery forms internet-explorer

我正在使用一种解决方法来使用jQuery克隆表单输入元素,并使其在Internet Explorer中工作。以下代码成功克隆了元素,但它也克隆了输入状态和值。清除状态和价值观最好的方法是什么?问题是收音机,复选框和文本字段混合在一起,所以我不能只清除输入值,必须考虑已检查和选择的状态。

感谢您的任何指示!

function setElementName(elems, name) {
    if ($.browser.msie === true){
        $(elems).each(function() {
            this.mergeAttributes(document.createElement("<input name='" + name + "'/>"), false);
        });
    } else {
        $(elems).attr('name', name);
    }
} 

1 个答案:

答案 0 :(得分:0)

最后找到了一个解决方法,如下所示:

switch(this.type) {
            case 'password':
            case 'select-multiple':
            case 'select-one':
            case 'text':
            case 'textarea':
                $(this).val('');
                break;
            case 'checkbox':
            case 'radio':
                this.checked = false;
        }