如何使用jquery或javascript动态更改输入类型

ris*_*aka 1 html javascript jquery

下面是我的html代码:

<input type="checkbox" id="multiOptions" />IsForMultioptions

<input type="radio" value="1" name="option">option1

<input type="radio" value="2" name="option">option2
Run Code Online (Sandbox Code Playgroud)

如果我选择复选框即multiOptions,那么所有单选按钮都应转换为复选框.如果我取消选中复选框即multiOptions,则所有复选框都应转换为单选按钮.提前致谢.

T.J*_*der 5

你需要真正删除并重新创建的元素,因为IE不会让你改变typeinput它的创建后.

jQuery使这个很容易replaceWith:

$("selector for the input to change").replaceWith('<input type="checkbox">');
Run Code Online (Sandbox Code Playgroud)

例如:

$('input[type="radio"][name="option"]').each(function() {
    $(this).replaceWith('<input type="checkbox" name="option" value="' + this.value + '">');
});
Run Code Online (Sandbox Code Playgroud)

或者,如果值可能包含需要实体的字符:

$('input[type="radio"][name="option"]').each(function() {
    var rep = $('<input type="checkbox" name="option">');
    rep.attr("value", this.value);
    $(this).replaceWith(rep);
});
Run Code Online (Sandbox Code Playgroud)