<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
body{ margin:0; padding:0; font-size:12px; font-family:"宋体","Arial"}
ul, li{ margin:0; padding:0; list-style-type:none}
</style>
</head>
<body>
要增加的数据:<input id="abc" value="aaab" />
<ul id="test">
<li>
<input type="radio" name="ck"/>
<input name="test" value=",aaab,cccc," />
</li>
<li>
<input type="radio" name="ck"/>
<input name="test" value=",sfds," />
</li>
<li>
<input type="radio" name="ck"/>
<input name="test" value=",sfss,cccs," />
</li>
</ul><script src="js/jquery-1.6.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
CopyEve()
})
function CopyEve(){
var $test = $("#test"),
$abc = $("#abc");
$test.find("input[name=ck]").bind({
click:function(){
var con = $abc.val();
var oldcon = $(this).parent().find("input[name=test]").val();
$(this).parent().find("input[name=test]").val(getS(oldcon + con))
}
})
}
function getS(str) {
return str.replace(/(^[^,])/, ',$1').replace(/([^,]$)/, '$1,');
}
</script></body>
</html>
复制就可以运行当点击下面的单选按钮时,将上面要增加的数据文本框的内容,添加到单选按钮后面的文本框里,但现在有个问题,当点击当前单选按钮时,如果其他的文本框也有 “要增加的数据的文本框的内容”,就要把其他文本框的这个内容清空掉,点击自己本身也一样,
var $test = $("#test"), $abc = $("#abc"),input;
$test.find("input[name=ck]").bind({
click: function () {
var con = $abc.val();
$test.find("input[name=test]").each(function () {
this.value = this.value.replace("," + con, "");//如果不区分大小写这里改为正则替换
});
input = $(this).next()
input.val(input.val() + con + ",")
}
})
}
谢谢,但有个问题,如果文本框为空时, 我要的效果是 ,aaab, 这样的
var $test = $("#test"), $abc = $("#abc"), input;
$test.find("input[name=ck]").bind({
click: function () {
var con = $abc.val();
if ($.trim(con) == '') return;/////////为空就不操作就行了
$test.find("input[name=test]").each(function () {
this.value = this.value.replace("," + con, ""); //如果不区分大小写这里改为正则替换
});
input = $(this).next()
input.val(input.val() + con + ",")
}
})
}
我不是说abc文本框为空,而是单选的文本框啊
function CopyEve() {
var $test = $("#test"), $abc = $("#abc"), input;
$test.find("input[name=ck]").bind({
click: function () {
var con = $abc.val();
if ($.trim(con) == '') return; /////////为空就不操作就行了
$test.find("input[name=test]").each(function () {
this.value = this.value.replace("," + con, ""); //如果不区分大小写这里改为正则替换
if (this.value == ',') this.value = '';//只剩一个,时清空
});
input = $(this).next()
input.val((input.val() == '' ? ',' : '') + input.val() + con + ",");
}
})
}