如何使用jQuery更改单选按钮的复选框?
答
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) + '">');
});
});
});
这当然是可能的。你需要什么样的场景? – 2010-03-10 20:20:54
我有一个单选按钮,如果值是其中的一个,我需要5个复选框转换为5个单选按钮,反之亦然,我希望你能理解。 – 2010-03-10 20:22:28