<div style="margin:20px">
<input name="a" type="checkbox" value="1" /><span>1</span>
<input name="a" type="checkbox" value="2" /><span>2</span>
<input name="a" type="checkbox" value="3" /><span>3</span>
<input name="a" type="checkbox" value="4" /><span>4</span>
<input id="t" type="text" value="" />
</div>
$(function(){
$(":checkbox[name=a]").click(function(){
if($(this).attr('checked')){
$("input:checkbox[name=a]").not($(this)).attr('checked',false);
}
});
});
以上已经是单选功能
请问,怎么样修改才能实现,选中后,输入框T加上选中的值,不选中将删去复选框的值。
请勿使用$('#t')val("")来重置输入框T,因为输入框可接受用户输入,不能将用户输入的值删除,只能删去复选框的值
------解决方案--------------------
$(function(){
var oldValue = "";
$(":checkbox[name=a]").click(function(){
var regex = eval("/" + oldValue + "$/gi");
if($(this).prop('checked')){
$("input:checkbox[name=a]").not($(this)).prop('checked',false);
//var regex = eval("/" + oldValue + "$/gi");
$("#t").val($("#t").val().replace(regex, "") + $(this).val());
oldValue = $(this).val();
} else {
$("#t").val($("#t").val().replace(regex, ""));
oldValue = "";
}
});
});
是这样不?