2010-08-11 16 views
0

如何在链接被按下后在textarea中显示数据? 此数据保存在数据库中。PHP在链接被按下后在textarea中显示数据

我想动态地创建一个字段'日期'的链接。如果用户按下该链接,则该日期的其余数据应显示在textarea中。

我我通过我的数据循环是这样的:

foreach($data as $key) 
{ 
    echo '<a href="/"' . $key->test . '>' . $key->date. '</a>'; 
    echo '<br />'; 
} 

我不知道我应该在“A HREF”在投入。

所以要清楚,在左边我有几个链接代表日期。在右侧,我想显示一个textarea,它将包含剩余的数据。

这怎么办?

回答

2

See the working demo here.

修改你的循环是这样的:

foreach($data as $key) 
{ 
    echo '<a class="link" href="#"' . $key->test . '>' . $key->date. '</a>'; 
    echo '<br />'; 
} 

然后你就可以使用这个jQuery代码:

$(function(){ 
    $('a.link').live('click', function(){ 
    $('#textarea_id').val($(this).text()); 
    return false; 
    }); 
}); 

textarea_id'是要更新的链接的价值你的textarea的ID,例如:

<textarea id="textarea_id">............ 

更新:

要添加上面的脚本,把<head></head>标签如之间的代码:

<head> 
<script type="text/javascrpt" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" ></script> 
<script type="text/javascrpt"> 
    $(function(){ 
     $('a.link').live('click', function(){ 
     $('#textarea_id').val($(this).text()); 
     return false; 
     }); 
    }); 
</script> 
</head> 
+0

如何将这个脚本添加到php文件中? – Yustme 2010-08-11 13:34:53

+0

@Yustme:请参阅我的更新。 – Sarfraz 2010-08-11 13:50:54

0

如果你可以使用jQuery你可以这样做:

$('a.dates').click(function(event) { 
    event.preventDefault(); // prevents link from reloading page 
    $('input#date').val($(this).attr('title')); 
}) 

<?php 
    foreach($data as $key) 
    { 
     echo '<a class="dates" title="$key->date" href="">' . $key->date. '</a>'; 
     echo '<br />'; 
    } 
?> 

<input id="date" value="" name="date" /> 
+0

这对动态链接不起作用,他没有任何标题:) – Sarfraz 2010-08-11 12:51:00

+0

看到他使用PHP生成链接.click应该工作得很好。如果他没有冠军,他可以添加它,就像我们都让他在链接中添加一个类一样。 – blcArmadillo 2010-08-11 12:57:00

0

2种方式:动态和非动态(正常)。让我们从第二个开始。

当有人点击链接时,它会将他重定向到您的PHP文件。让我们来看一个例子:


//in HTML 
<a href="index.php?action=getcontent&date=03022010" id="d03022010">Show details for date 03.02.2010</a> 
//and so on.. 

//PHP 
if($_GET['action'] == "getcontent"){ 
    $date = $_GET['date']; 
    //connect to DB and retrieve data to e.g. $result 
} 

//your textarea 
<textarea><?php echo $result; ?></textarea> 

在动态的方式,你必须使用JavaScript(或一些JavaScript库,如jQuery)后,用户点击一个链接,下载数据并更新textarea元素。示例jQuery(我没有测试它...)


//HTML head section 
<script type=text/javascript> 
    $('#d03022010').click(function(e){ 
    $.ajax({ 
     type: 'POST', 
     url: 'url/to/php', 
     data: {date: 'your_data'}, 
     dataType: 'text', //or html or json 
     success: function(result){ $(textarea).text(result)} 
    }); 
    }); 
</script> 

希望这会对您有所帮助。

+0

这对于动态链接无效:) – Sarfraz 2010-08-11 12:51:22

相关问题