使用jquery从TextArea创建数组

时间:2013-12-08 05:45:19

标签: javascript jquery

我有以下代码

<!----SUBMIT BUTTON---->
<input type="button" value="Submit" onClick="getData();">
.....

<div id="rev"></div>

点击提交按钮后,我可以在ID ='rev'的文本区域中以我的数据库显示我所需的数据,格式如下:

20

30

我想使用jquery

将文本区域的这些内容推送到数组中
 <script type="text/javascript">
                    var arr=new Array();
                    function createArr()
                    {
                            var txt=$('#rev').val();
                            $.each(txt.split('\n'),function(i,value){
                                    if(value!=""){
                                            arr.push(value);
                                    }
                            });
                    }
                    createArr();             
                    document.write(arr[0]);
 </script>

似乎不起作用,我的网页上的输出假设显示我的数组的第一个元素是20.任何人都可以告诉我我的代码出了什么问题?

当我改变这个时它起作用

 <div id="rev"></div> 

进入

  <textarea id="rev"></textarea>. 

我不知道为什么不能在这里使用div?

2 个答案:

答案 0 :(得分:0)

使用window.onload函数包装整个函数。试试这个:

<script type="text/javascript">
window.onload = function(){

                function createArr()
                { 
                        var arr=new Array();
                        var txt=$('#rev').html();  // use html() instead of val()
                        $.each(txt.split('\n'),function(i,value){
                                if(value!=""){
                                        arr.push(value);
                                }
                        });
                }
                createArr();             
                console.log(arr[0]);
}
</script>

Demo

答案 1 :(得分:0)

我认为这是因为你只输出第一个:

document.write(arr[0]);

也许你需要这个?

$.each(arr, function(i, val) {
    document.write(val);
}