Сравнение Javascript для строки таблицы, чтобы выделить строку красным (CakePHP)

0

Как найти правильный подход к работе с этим сравнением? Я пробовал всевозможные подходы. Я даже использовал идентификаторы, но они не отвечают. Если я выполняю эту проверку "gumboots", то она работает. "gumboots" - это просто значение названия продукта, которое где-то было на столе. Вот как я знаю, мне вообще не нужен PHP, несмотря на таблицы, отображаемые в PHP в представлении "Индекс" ниже. Есть идеи? Буду премного благодарен.

Здесь javascript

$('#example tbody tr td').each(function() 
{
                //var p_no_in_stock = parseInt($('#p_no_in_stock')).val();
                 //var p_reorder_quantity = parseInt($('#p_reorder_quantity')).val();
                 var p_no_in_stock = parseInt(document.getElementById('p_no_in_stock')).value;
                 var p_reorder_quantity = parseInt(document.getElementById('p_reorder_quantity')).value;


//if ($product['Product']['p_no_in_stock'].val() < $product['Product']['p_reorder_quantity'].val())
if ($(this).text() == "gumboots") 
//if ($(this).p_no_in_stock < $(this).p_reorder_quantity)
{
//$("#row_" +" td").effect("highlight", {}, 1500);
$(this).closest('tr').attr('style','background-color:red');
$(this).parent().css('background-color','red');
$(this).parent().attr('style','background-color:red');
$(this).parent().addClass('highlight');
$(this).parent().css('font-weight','bold');
} 

}); 

И это приложение в представлении View под названием Products.index

<div class="active">

        <h2><?php echo __('Products'); ?></h2>

        <table cellpadding="0" cellspacing="0" class="table table-striped table-bordered" id ="example">

            <tr>

                <th><?php echo $this->Paginator->sort('p_name', 'Name'); ?></th>
                <th><?php echo $this->Paginator->sort('category_name', 'Category'); ?></th>
                <th><?php echo $this->Paginator->sort('p_no_in_stock','No. in Stock'); ?></th>
                <th><?php echo $this->Paginator->sort('p_reorder_quantity', 'Re-order Quantity'); ?></th>
                <th class="actions"><?php echo __('Actions'); ?></th>
            </tr>
            <tbody>
            <?php foreach ($products as $product): ?>
                <tr>

                    <td><?php echo h($product['Product']['p_name']); ?></td>
                    <td> <?php echo $this->Html->link($product['Category']['category_name'], 
                    array('controller' => 'categories', 'action' => 'view', $product['Category']['id'])); ?>
                    </td>      
                    <td id = "p_no_in_stock" type ="number" ><?php echo h($product['Product']['p_no_in_stock']); ?>&nbsp;</td>
                    <td id ="p_reorder_quantity" type ="number" ><?php echo h($product['Product']['p_reorder_quantity']); ?>&nbsp;</td>
                    <td class="actions">
                        <?php echo $this->Html->link(__('View'), array('action' => 'view', $product['Product']['id']), array('class' => 'btn btn-mini')); ?>
                        <?php echo $this->Html->link(__('Edit'), array('action' => 'edit', $product['Product']['id']), array('class' => 'btn btn-mini')); ?>
                        <?php echo $this->Form->postLink(__('Delete'), array('action' => 'delete', $product['Product']['id']), array('class' => 'btn btn-mini'), __('Are you sure you want to delete # %s?', $product['Product']['id'])); ?>
                    </td>
                </tr>
            <?php endforeach; ?>
                </tbody>
        </table>

Заранее спасибо.

  • 0
    Хотите посмотреть на мой код для строгого решения jQuery? Вот сайт . Нажмите любую систему и наведите курсор на стол. Хотите, чтобы я адаптировал это для вас? К сожалению, я не более чем на 50% знаком с PHP . Я могу читать, а не писать.
  • 0
    Это не имеет значения. В буквальном смысле это вопрос HTML / Javascript. Решение более сфокусировано на логике Javascript. По крайней мере, я в этом уверен.
Показать ещё 1 комментарий
Теги:
cakephp

2 ответа

0

Я посылаю вам мой код, пожалуйста, измените его соответственно.... Код PHP -

<?php

if($num>0)
{

    echo '<table width="100%" id="dep_table"  style="margin-top:10px;"  cellspacing="1" cellpadding="2" border="0">';
    echo '<tr bgcolor="#4682B4">';
    echo '<th>Editor</th>';
    echo '<th>Department Id</th>';
    echo '<th>Department Name</th>';
    echo '</tr>';
    $i=0;


    while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
    {
        $i++;
        if($i % 2 == 0) 
        {
            $bgcolor= "#6AA2C3";
        }
        else 
        {
         $bgcolor= "#A2B5CD";
        }
        //extract row, this will make $row['firstname'] to just $firstname only
        extract($row);

        //creating new table row per record
        echo "<tr bgcolor='$bgcolor' id='$DeptId' name='edit_tr'>";
    echo '<td id="edit"><input id="edit" type="radio" name="deptid" value="DeptId" ?></td>';

    echo "<td class='format'>{$row['DeptId']}</td>";
    echo "<td class='format'>{$row['DeptName']}</td>";
    echo "</tr>";
    }


    echo "</table>";
 }




 echo "</div>";

JS для соответствующего кода -

 $(document).ready(function() {

row_color();

$('#dep_table tr').click(function(e) {

     $(this).find('td input:radio').prop('checked', true);
    /*  submit_fxn(); 
        $('#form_ndesg').submit(function(e) {
            return false;
        });*/
  });


}); 

//******* 1 Div Fade In/Out effect *******

function row_color(){
$('#dep_table tr').not(':first').hover(function(){
    $(this).addClass('hover');
},function(){
    $(this).removeClass('hover');
});

};

Соответствующий CSS-код -

tr.hover{
background-color:#E7ECB8;
color:#990000;
}

Вы переместите указатель мыши на стол, он изменит цвет строки, а также цвет текста rwo, и когда вы нажмете на определенную строку, он включит строку, выбрав переключатель.

Если этот ответ будет полезен для вас, пожалуйста, понравится это для ответа, чтобы другие могли использовать его для справки.... Спасибо и удачи

0

Это то, что вы просите?

http://jsfiddle.net/SinisterSystems/z9SE7/1/

HTML:

<table>
    <tr>
        <td>Test</td>
        <td>Test</td>
        <td>Test</td>
        <td>Test</td>
        <td>Test</td>
    </tr>
    <tr>
        <td>Test</td>
        <td>Test</td>
        <td>Test</td>
        <td>Test</td>
        <td>Test</td>
    </tr>
</table>

CSS:

tr:hover td {
    background:#F00;
}
  • 0
    Почти, но не нужно зависать, спасибо.
  • 0
    Извините, я только что разработал, как выделить красным цветом. Ваша вещь работала как шарм, чтобы сделать это. Спасибо Но мне нужно логическое решение для сравнения, если это возможно. Это то, что я действительно ищу сейчас.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню