下面是我的html代码:
<input type="checkbox" id="multiOptions" />IsForMultioptions
<input type="radio" value="1" name="option">option1
<input type="radio" value="2" name="option">option2
如果我选择复选框,即 multiOptions,那么所有单选按钮都应转换为复选框。 如果我取消选中复选框,即 multiOptions,那么所有复选框都应转换为单选按钮。 提前致谢。
最佳答案
您实际上需要删除并重新创建元素,因为 IE 不允许您在创建后更改 input
的 type
。
jQuery 使用 replaceWith
使这变得相当容易:
$("selector for the input to change").replaceWith('<input type="checkbox">');
例如:
$('input[type="radio"][name="option"]').each(function() {
$(this).replaceWith('<input type="checkbox" name="option" value="' + this.value + '">');
});
或者如果值可能包含需要实体的字符:
$('input[type="radio"][name="option"]').each(function() {
var rep = $('<input type="checkbox" name="option">');
rep.attr("value", this.value);
$(this).replaceWith(rep);
});
关于javascript - 如何使用 jquery 或 javascript 动态更改输入类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16538878/