捕获变量传递给for循环内的jQuery脚本

时间:2014-08-31 08:49:49

标签: php jquery arrays variables

检查以下代码:

jQuery(document).ready(function($){
    jQuery(myAjax.idinfo).change(function()
    {
        $value = $(this).val();
        jQuery.ajax({
            type : 'post',
            dataType : 'json',
            url : myAjax.ajaxurl,
            data : {
                action: 'getuser', 
                value: $value,
                //_nonce: myAjax.ajaxurl myAjax.nonce???????
            },

            complete: function(response){
                var parsed = JSON.parse(response.responseText)
                var arr = [];
                for(var x in parsed){ arr.push(parsed[x]);}
                for(var i = 1; i<= myAjax.fieldcount; i++)
                {
                    jQuery(myAjax.index + i).val(arr[i]);
                }
            }
        });

    });
});

请注意,myAjax是从php脚本传递的,所以一切都可以通过myAjax获得。 现在在for循环中我想使用myAjax.index1和index2等。现在我如何增加索引?我已阅读有关使用数组来解决此问题的信息。但是,如果我将myAjax中的所有内容都推送到数组中,那么数组不仅会填充index1,index2等,还会填充其他值,所以这不是我想要的。

1 个答案:

答案 0 :(得分:0)

已解决,我将2个数组传递给jQuery脚本,如下所示:

wp_localize_script('ffd_js_script', 'myAjax', array(
        'ajaxurl' => admin_url('admin-ajax.php'),
        'fieldcount' => $myoptionValue['fieldcount'],
        'idinfo' => $myoptionValue['idinfo'])
        );
    wp_localize_script('ffd_js_script', 'myIndexArray', $arguments);

在jQuery中,我将所有内容都推送到另一个数组中(不确定这是否必要)然后我可以遍历数组,如下所示:

var indexArray = [];
                for(var y in myIndexArray){ indexArray.push(myIndexArray[y]);}
                for(var i = 0; i<= myAjax.fieldcount-1; i++)
                {
                    jQuery(indexArray[i]).val(arr[i+1]);
                }