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

标签 javascript jquery html

下面是我的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 不允许您在创建后更改 inputtype

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/

相关文章:

javascript - 使用 jQuery 进行渐变填充?

javascript - 如何将html内容添加到另一个元素?

javascript - 如何在 express 中使用 connect-orientdb 模块

c# - 是否选中了两个或三个单选按钮中的任何一个

javascript - 日期选择器弹出窗口不起作用

php - 获取价格并添加到购物车按钮 Magento

javascript - jquery ajax正在加载整个外部html而不是目标div

javascript - 为什么我的提醒在成功调用时没有显示

javascript - 如何检查数组中值的出现

javascript - 条件 ng-style 未被应用