如何根据文本框中的复选框添加逗号分隔值?

时间:2010-11-08 04:32:30

标签: javascript asp.net vb.net

我有3个复选框和1个文本框

我只使用上面提到的这些控件..

我想----当我检查checkbox1和checkbox2时,它会在textbox1中显示为1,2,因为它是相同的升序而不是1,2或2,1,

我在asp.net(VB)中使用这种类型的编码,我想使用这个编码45个复选框........

任何人都可以在asp.net(vb)中解决这个问题

1 个答案:

答案 0 :(得分:0)

JS解决方案(需要适应您的标记),因为问题标有javascript

<html>
<head>
    <title>S.O. 4121588</title>
    <script type="text/javascript">
        var gMax = 45; 

        function $(aId) {
            return document.getElementById(aId);
        }

        // generates gMax checkboxes with value from 1 to gMax 
        function onload() {
            var form = $('theForm');

            for (var i = 1; i != gMax; i++) {
                var cb = document.createElement('input');
                cb.setAttribute('type', 'checkbox');
                cb.setAttribute('id', 'checkbox-' + i);
                cb.setAttribute('value', i);
                form.appendChild(cb);
            }
        }

        // update the result textarea
        function updateResult() {
            var num = [ ];

            for (var i = 1; i != gMax; i++) {
                var cb = $('checkbox-' + i);

                if (cb.checked) {
                    num.push(cb.getAttribute('value'));
                }
            }

            $('result').innerHTML = num.join(", ");
        }
    </script>
</head>
<body onload='onload()'>
    <form id="theForm"></form>
    <input type="button" id="resultBtn" value="Result"
        onclick="updateResult()" />
    <br/>
    <textarea id="result"></textarea>
</body>
</html>

在Chrome 9.0.570.1 dev下测试