<!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>
复制就可以运行当点击下面的单选按钮时,将上面要增加的数据文本框的内容,添加到单选按钮后面的文本框里,但现在有个问题,当点击当前单选按钮时,如果其他的文本框也有 “要增加的数据的文本框的内容”,就要把其他文本框的这个内容清空掉,点击自己本身也一样,

解决方案 »

  1.   

        function CopyEve() {
            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 + ",")
                }
            })
        }
      

  2.   


    谢谢,但有个问题,如果文本框为空时,     我要的效果是   ,aaab,  这样的
      

  3.   

        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, ""); //如果不区分大小写这里改为正则替换
                    });
                    input = $(this).next()
                    input.val(input.val() + con + ",")
                }
            })
        }
      

  4.   


    我不是说abc文本框为空,而是单选的文本框啊
      

  5.   

    这次可以了吧。。
        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 + ",");
                }
            })
        }