1

我有一个页面显示来自我的数据库的信息。我需要用户能够单击“详细信息”链接以查看与记录有关的更多信息,或者单击输入框(“检查”列),然后提交,这将更新记录的状态。为此,我需要从“id”列中获取 id。

这是页面的样子:

请求页面

这是创建它的代码:

  $.ajax({
type: "POST",
url: "lib/req.reqinfo.php",
async: false,
data: {},
success: function(response){
// alert(response);
    var responseArray = response.split(',');    
    for(var x=0;x<responseArray.length;x++){
        id = responseArray[x]; x++;
        dateadded = responseArray[x]; x++;
        needby = responseArray[x]; x++;
        addedby = responseArray[x]; x++;
        unit = responseArray[x]; x++;
        appr = responseArray[x];

        $("#dbinfo").append('<br /><div class="row"><div id="idrow'+x+'" class="onecol bg">'+id+'</div><div class="twocol bg">'+dateadded+'</div><div class="twocol bg">'+needby+'</div><div class="twocol bg">'+addedby+'</div><div class="twocol bg">'+unit+'</div><div class="onecol bg">'+appr+'</div><div class="onecol bg"><label id="detaillink" class="link"><a href="#">details</a></label></div><div class="onecol bg last">'+check+'</div></div>');
    }

我似乎找不到指向该特定 div 以提取所需信息的解决方案

html:

    <div class="container">
   <br />
<div id="dbinfo" class="row center">
<div class="onecol bg">ID</div>
<div class="twocol bg">Date Added</div>
<div class="twocol bg">Need By</div>
<div class="twocol bg">Added By</div>
<div class="twocol bg">Unit #</div>
<div class="onecol bg">Appr.</div>
<div class="onecol bg">Details</div>
<div class="onecol bg last">check</div>
<div class="onecol"> &nbsp </div>
</div>

   <br />
<div class="row">
    <label class="link"><a href="home.php">Home</a></label>
</div>

4

3 回答 3

2

因为您是自己生成“行”,所以您可以直接添加 id 内联。例如:

<div class="onecol bg"><label id="detaillink" class="link"><a href="#" data-id="'+x+'>details</a></label></div>

或者:

<div class="onecol bg" data-id="'+x+'>Details</div>

顺便说一句,我个人的选择是在表格中显示此类表格数据,并将点击行为附加到行(tr)。

于 2012-12-04T22:30:43.793 回答
0

你可以试试这个方法。。

将课程详细信息添加到此

<div class="onecol bg details">Details</div>

// Assuming the details cell has a class called details.
$('.details').on('click', function(){
    var $row = $(this).closest('div.row');

    var id = $row.find('div:eq(0)').attr('id');
    // This is the id you are looking for
});

.attr('id');  If that div has a id..

.html();     If you are looking for the text inside it
于 2012-12-04T22:25:08.107 回答
0

在 html 中:

  • 链接不需要标签。
  • 链接需要一些类来更容易选择以进行进一步的事件处理

链接的事件处理程序:

$('link class').on('click', function(e) {
   e.preventDefault();
   $(this).parents('div').siblings('div:eq(0)').text();
});
于 2012-12-04T22:34:22.730 回答