我的javascript如下;
<script type="text/javascript">
$(document).ready( function() {
var i = 1;
$.ajax({
type: 'POST',
url: 'ajax.php',
data: 'id=' + i,
dataType: 'json',
cache: false,
success: function(result) {
$('.content').each(function(index){
if((result[index])){
$(this).css({ 'background-image':'url(images/' + result[index] + '.jpg)' });
}else{
$(this).css({ 'background-image':'url()' });
}
});
$('.title').each(function(index){
if((result[index])){
$(this).html(result[index]);
}else{
$(this).html(" ");
}
});
},
});
});
</script>
哪个,借助我的php文件;
<?php
$id = $_POST["id"];
$array = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);
$quantity = 6;
$offset = ($id-1)*$quantity;
$array2 = array_slice($array,$offset,$quantity);
echo json_encode($array2);
?>
更改我桌子的背景图片;
<table style="width: 100%; border: solid 1px #666600; min-width: 800px" cellpadding="0" cellspacing="0">
<tr>
<td id="prev">prev</td>
<td class="content" > </td>
<td class="content" > </td>
<td class="content" > </td>
<td class="content" > </td>
<td class="content" > </td>
<td class="content" > </td>
<td id="next">next</td>
</tr>
<tr>
<td> </td>
<td class="title" > </td>
<td class="title" > </td>
<td class="title" > </td>
<td class="title" > </td>
<td class="title" > </td>
<td class="title" > </td>
<td> </td>
</tr>
</table>
一切都运作良好。
但我想显示一些与数组中的数字相关的数据,对数组元素说name1
到name20
的一些名称。在我的页面中,具有class="title"
的表格单元格中填充了数组元素(此处为图像名称)。但我希望class="title"
填充名称1-20,它应该与数组元素一起传递,如关联数组。我认为关联数组将是最好的选择。
我怎样才能使用Javascript和jQuery?
注意: - 不要担心PHP。如果有人建议使用特定格式来回显PHP中的数据,我可以将其解决。我是初学者..
提前致谢...
答案 0 :(得分:6)
关联数组将成为json_encode
的javascript对象普通数组如数组(1,2,3)== json_encode ==&gt; [1,2,3]
关联数组,如数组('name'=&gt; 1,'name2'=&gt; 2)== json_encode ==&gt; {name:1,name2:2}
因此结果[index]将不再起作用。
最好的方法是发送一个包含两个数组的对象:
PHP:
array( 'classes' => array('name1','name2') , 'ids' => array(1,2));
在Javascript中,您可以像这样访问它:
result.classes[index]
result.ids[index]