如何获取jquery post返回的html中元素的内容

时间:2013-09-18 06:01:09

标签: php jquery

我有一个jQuery post请求,它以html格式返回表格数据 这是jQuery帖子

    jQuery('#chem_search').submit(function(e){
        e.preventDefault();
        var itemcode=jQuery('[name="itemcode"]').val();
                jQuery.post("chemical_search_query.php", {"itemcode":itemcode},    function(data) {
        jQuery('#type2').html(data);
        });
    });

ajax请求返回的数据就像这样

    echo "<div id='dar'><table class='s_report'><tr><th>Item Code</th><th>Description</th><th>Unit</th><th>Op. Stock</th><th>Recd. Qty</th><th>Total Receipts</th><th>Used Qty</th><th>Available Stock</th></tr>";
  $sr_no=0;
                while($row=mysql_fetch_array($result))

                {


                    $dateform=explode('-',$row['recd_date']);

                    $dateform2=explode('-',$row['analysed_date']);
                    $dateform3=explode('-',$row['report_send']);

                    echo "<td><div id='itemcode'>" . $row['item_code']. "</div></td>";
                    echo "<td>" . $row['description'] . "</td>";
                    echo "<td>" . $row['uom'] . "</td>";
                    echo "<td>" . $row['open_stock'] . "</td>";
                    echo "<td>" . $row['recd_total'] . "</td>";
                    echo "<td>" . $sum=$row['open_stock']+$row['recd_total'] . "</td>";
                    echo "<td><div id='iss'>" . $row['issue_qty'] . "</div></td>";
                    echo "<td>" . $available=$sum-$row['issue_qty'] . "</td>";

                    echo "</tr>";
                }

                echo "</table></div>";}

当我点击div“iss”时,我想得到div“itemcode”的内容。我知道如何获取被点击的div的内容。但这不是要求。有选择吗?

2 个答案:

答案 0 :(得分:0)

你可以试试这个

$('#type2').on('click', '#iss', function(e){
    var ic = $(this).closest('td').closest('tr').find('td > div#itemcode').text();
});

此外,我在最后看到echo "</tr>";但没有看到开始<tr>标记,因此请确保正确嵌套标记,否则无效。

答案 1 :(得分:0)

我建议使用class而不是id,因为id不能重复。所以使用itemcode并将它们作为类。还缺少每个项目块的开放tr。

var item = $(this).parent()。parent()。find('。itemcode')。text();
var item = $(this).parent()。parent()。find('。itemcode')。html();