如何使用jQuery更改单选按钮的复选框?

问题描述:

如何更改使用jQuery的单选按钮的复选框?如何使用jQuery更改单选按钮的复选框?

+0

这当然是可能的。你需要什么样的场景? – 2010-03-10 20:20:54

+0

我有一个单选按钮,如果值是其中的一个,我需要5个复选框转换为5个单选按钮,反之亦然,我希望你能理解。 – 2010-03-10 20:22:28

var checkbox = $("#myCheckbox"); 
checkbox.replaceWith('<input type="radio" name="'+checkbox.attr('name')+'" value="'+checkbox.attr('value')+'" />'); 

或者用jQuery 1.4

var checkbox = $("#myCheckbox"); 
$("<input>",{ 
    type:'radio', 
    name: checkbox.attr('name'), 
    value: checkbox.attr('value') 
}).replace(checkbox); 

你的变化而变化的类型属性,因为它会导致IE浏览器的问题。

+0

非常多,我打算:) – 2010-03-10 20:54:29

+0

我不知道这是否在jQuery 1.4工作,但它不在1.6。改为使用: 'var checkbox = $(“#myCheckbox”); checkbox.replaceWith($( “”,{ 类型: '无线电', 名:checkbox.attr( '姓名'), 值:checkbox.attr( '值') }));' – MarkD 2012-04-20 13:15:59

我认为你不能改变类型属性。

作为替代方案,您可以使用divs:一个用于复选框,另一个用于收音机。并使用show()/hide()方法...给出

<input type="checkbox" name="change" id="change"> 
<label for="changem">Change Buttons</label><br><br> 
<div id="btngroup"> 
<span><input type="radio" name="btngroup" id="btn-1"></span> 
<label for="btn-1">Button 1</label><br> 
<span><input type="radio" name="btngroup" id="btn-2"></span> 
<label for="btn-2">Button 2</label><br> 
<span><input type="radio" name="btngroup" id="btn-3"></span> 
<label for="btn-3">Button 3</label><br> 
</div> 

的jQuery:

$(document).ready(function() { 
    $('#change').click(function() { 
    if($('#change:checked').length > 0) { 
     var myType = "checkbox"; 
    } else { 
     var myType = "radio"; 
    } 
    $("#btngroup span").each(function(i) { 
    $(this).html('<input type="' + myType + '" name="btngroup" id="btn-' + (i+1) + '">'); 
    }); 
    }); 
}); 

DEMO