如果检查行,我如何获得特定单元格的值?

时间:2014-06-28 08:39:25

标签: javascript php jquery datatable

我有一个HTML表格。如果检查列,我需要获取特定的单元格值!对于每一行,我都有一个复选框。

<table id="tabellaOrdinaFarmaci" class="table table-striped table-bordered" cellspacing="0" width="100%">
            <thead>
                <tr>
                    <th>Codice Farmaco</th>
                    <th>Nome Farmaco</th>
                    <th>Quantità </th>
                    <th>Quantità di alert</th>
                    <th>Stato</th>
                    <th>Quantità da ordinare</th>
                    <th></th>
                </tr>
            </thead>
        </thead>
        <tbody>
            <?php
            foreach ($query as $row):
                $quantitaDaOrdinare = $row->alert - $row->quantita;
                if ($quantitaDaOrdinare > 0) {
                    ?>
                    <tr id="<?php echo $row->aic; ?>" > 
                        <td ><?php echo $row->aic; ?></td>
                        <td name="nomeFarmac"o><?php echo $row->denominazione ?></td>
                        <td><?php echo $row->quantita; ?></td>
                        <td><?php echo $row->alert; ?></td>
                        <td><?php echo $row->stato; ?></td>
                        <td>
                            <input type="text" class="form-control auto" name="codiceFarmaco" value="<?php echo $quantitaDaOrdinare ?>"/>
                        </td>
                        <td>   <label>
                                <input type="checkbox" name="checkBox" value="<?php echo$row->aic; ?> ">
                            </label></td>
                    </tr>
                    <?php
                } else {

                }
            endforeach;
            ?>
        </tbody>

如果单击一个按钮,我需要(使用javascript或jquery)获取每个被检查的行的名称为“nomeFarmaco”的单元格值!我试着把这个函数称为

function getValue(){
     var nome = $('input[name="checkBox"]:checked').map(function() {
                            return $(this).parent().parent().parent().find('name="nomeFarmaco').val();
                        }).get();
return nome;}

但是nome是一个空数组!有任何想法吗?提前谢谢!

2 个答案:

答案 0 :(得分:0)

我认为这是拼写错误?

<td name="nomeFarmac"o><?php echo $row->denominazione ?></td>

将其更改为:

<td name="nomeFarmaco"><?php echo $row->denominazione ?></td>

而且您的目标是<td>.val()无效。应为.text()

var name = [];
$('input[name="checkBox"]').click(function(){
    if($(this).is(':checked')) {
        name.push($(this).parent().parent().siblings('td[name="nomeFarmaco"]').text());
    } else {
        var index = name.indexOf(name);
        name.splice(index, 1);
    }
    console.log(name);
});

答案 1 :(得分:0)

您可以为复选框添加自定义属性,并在此属性中设置值。 像这样:

<input type="checkbox" name="checkBox" value="<?php echo$row->aic; ?> " customattr="<?php echo $row->denominazione ?>">

你的javascript函数将是:

function getValue(){
    var nome = $('input[name="checkBox"]:checked').attr('customattr');
    return nome;
  }