在链接被按下后,php在textarea中显示数据

时间:2010-08-11 12:24:44

标签: php codeigniter textarea

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

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

我循环浏览我的数据:

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

我不知道我应该把'a href'放进去。

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

如何做到这一点?

3 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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" />

答案 2 :(得分: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>

希望这有用。