每次都没有执行javascript for循环的问题

时间:2013-02-27 07:04:01

标签: javascript arrays

我正在使用此JavaScript代码来处理页面数组中的警报计数。

url是一个页面名称数组,count是计数值。

我想提醒数组网址的每个页面中的计数值。

但是for循环并没有一直执行。我不知道会发生什么......任何身体请帮助我找出错误..

在页面数组中使用echo $_POST['suggest'];。但我想使用JavaScript代码来接收建议的值并提醒它。如何使用JavaScript接收值?

<script>
        $(document).ready(function () {
            var count = document.getElementById('display_visitor_number').innerHTML; //count
            var urls = document.getElementById('display_visitor_urls').innerHTML; //array of page names
            var myarr = urls.split(",");

            for (var i=1;i<myarr.length;i++)
            { 
                $.post(myarr[i],{suggest:count}, function(data) {
                    alert(data);
                });
            }


        });
    </script>

2 个答案:

答案 0 :(得分:0)

如果字符串url以字符串开头,则在分割之前它将有一个空字符串作为第一个值(这将导致jquery对当前页面进行ajax调用)你可能想要检查它并从0开始

<script>
        $(document).ready(function () {
            var count = document.getElementById('display_visitor_number').innerHTML; //count
            var urls = document.getElementById('display_visitor_urls').innerHTML; //array of page names
            var myarr = urls.split(",");

            for (var i=0;i<myarr.length;i++)
            { 
                if(myarr[i] !== '')$.post(myarr[i],{suggest:count}, function(data) {
                    alert(data);
                });
            }


        });
    </script>

答案 1 :(得分:0)

而不是使用split函数,您最好尝试使用RegExp并匹配所有非空格字符序列。取代

var myarr = urls.split(",");

var myarr = urls.match(/[^ ,]+/g)

然后你应该开始for循环var i=0然后。