87,907
社区成员
发帖
与我相关
我的任务
分享
<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);
}
});
});
$(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 = "";
}
});
});
是这样不?
var selectChkValue = {};
$(":checkbox").bind("click", function() {
var txtValue = $("#txt").val();
if ($(this).prop("checked") == true) {
selectChkValue[$(this).attr("id")] = $(this).value();
txtValue += "," + $(this).val();
} else {
var chkValue = selectChkValue[$(this).attr("id")];
var replaceStr = "," + chkValue;
txtValue = txtValue.replace(txtValue, "");
}
$("#txt").val(txtValue);
});
有一种情况需要LZ斟酌:如果用户输入的内容与CHECKBOX的值重复,如何处理?
$(function(){
var oldValue = "";
$(":checkbox[name=a]").click(function(){
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();
}
});
});
是把原来选中的那个值去掉,然后加上新选中的值吗,可是这样会有一个问题,你自己输入的值也是1,2,3,4中的一个的话,也会被替换掉,不知道会不会有这种情况发生