2015-06-21 68 views
0

追加新行UL李,这是简化我的HTML/PHP页面jQuery的通过PHP

<html> 
<head> 
</head> 
<body> 
<div class="main_column"> 
    <h2> main column </h2> 
    <p>content</p> 
</div> 

<div class="side_column"> 
    <h3> main column </h3> 
    <ul class="list"> 
     <?php echo printSideColumn(1,3) 
    </ul> 
    <a>load 3 next rows</a> 

</div> 

</body> 
</html> 

的,这是在页面的PHP函数:

function printSideColumn($begin,$count) 
{ 
     $code = null; 
     for($i = $begin; $i<$begin + $count ; $i ++) 
      $code '<li>rows'.$i.'</li>'; 
     return $code; 
} 

的第一个,当我加载页面;此函数运行:printSideColumn(1,3)所以打印<li>rows1</li>直到<li>rows3</li>

现在我想通过jQuery负载下一个3行......我的意思是3个新行追加到旧行(不刷新旧行)

(我会这么有<li>rows1</li>直到<li>rows6</li>

怎样才能改变这种代码来做到这一点通过JQ?

我试着做我自己:

第一个变化a标签:

<a onclick="load();">load 3 next rows</a> 

,并添加js函数:

function load(){ 
    $('#add').on('click', function() { $("ul.list").append('<li>rows</li>'); 
    }, 'html'); 
    }); 
} 

,但我不知道最后一排的如何calculae数...并发送$begin$count给jquery ...然后jquery调用我的php函数来打印它!

你能帮我完成我的代码吗?

回答

1

要与JS添加行和获取当前行,你只需要改变你的JS一个小数目:

$('ul.list').append('<li> row ' + $('ul.list li').size() + '</li>');

我不知道你需要什么。

+0

如何调用'printSideColumn($ begin,$ count)'添加新行? – partiz

+0

那么,PHP运行服务器端,你需要你的JS通过AJAX POST/GET发送数据,可能发送当前数量为< li >的,所以你可以设置$ begin为该值。 如果您没有从服务器获取相关数据,应该使用JQuery完成! –

0

我建议你有一个函数,可以在接下来的几行中对你的php函数进行ajax调用。您可以使用JavaScript变量来跟踪您的位置。

一个例子是:

var begin = 1; 
var count = 3; 

function getRows(b, c) { 
    $.post('pathToPhp', {begin: b; count: c}, function(data){ 
     $('.list').append(data); 
     begin = b; 
     count = c; 
    }); 
} 

在你的PHP一边,你就只能赶上与$彦博值[“开始”]和$ _ POST [“数”],然后用你的printSideColumn功能。