检查以下代码:
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等,还会填充其他值,所以这不是我想要的。
答案 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]);
}