-1

我有以下 jQuery 代码:

<script type="text/javascript">
    $(document).ready(function() {
        var color = ['none', 'green', 'yellow', 'red'];
        $('table').on('change','select', function() {
            $(this).parents('td').css('background', color[$(':selected', this).index()]);
        });​
    });
</script>

Which highlights all table cells on a row when an option in a select box is chosen. 我已经下载并实现了 jQuery cookie 插件。我的问题是如何实现功能(附加代码),以便在刷新页面或用户注销时,表格单元格的行将保持突出显示。

4

2 回答 2

1

您所需要的只是将选定的颜色存储在 cookie 中,然后将其读回。您可以使用jquery cookie 插件。此处的示例用法:

$(document).ready(function() {

    if ($.cookie("yourname")) {
        // applying color from cookie
        var color = $.cookie("yourname");
        $('div').css('background', color);
        $('select').val(color);
    }

    $('div').on('change', 'select', function() {
        // applying selected color, storing it in the cookie
        var color = $(this).val();
        $.cookie("yourname", color);
        $('div').css('background', color);
    });

});​

演示

PS:对于演示,我使用稍微修改过的脚本,因为你没有提供你的 HTML 标记。

于 2012-09-05T08:36:35.160 回答
0

谢谢你的回答。在以下代码中实现它的最佳方法是什么:

<?php
while ($row = mysql_fetch_assoc($result))

{
echo '<tr>';

echo '<td><input type="text" name="order_no[]" value="' . $row['Orderno'] . '"/></td>';
echo '<td><input type="text" name="order_date[]" value="' . $row['Orderdate'] . '"/>   </td>';
    echo '<td><input type="text" name="order_ordered_by[]" value="' . $row['Orderedby'] . '"/></td>';
    echo '<td><input type="text" name="order_supplier[]" value="' . $row['Supplier'] . '"/></td>';
    echo '<td><input type="text" name="order_total_price[]" value="' . $row['totalprice'] . '"/></td>';
    echo '<td><input type="text" name="order_requested_by[]" value="' . $row['requestedby'] . '"/></td>';
    echo '<td>';
    echo '<select name="order_status[]">';
    echo '<option></option>';
    echo '<option>Approved</option>';
    echo '<option>Pending</option>';
    echo '<option>Dissaproved</option>';
    echo '</select>';
    echo '</td>';
    echo '</tr>';

}
?>
于 2012-09-05T11:30:08.630 回答