0

很抱歉发布一个已经发布的问题,但是我真的很难让这个功能发挥作用。当我更改选择框选项值时,我希望它在页面刷新或注销时保持不变。我必须使用 AJAX/PHP 来让它工作吗?我试图这样做无济于事。选择下拉菜单时可以运行数据库更新功能

我的代码如下所示:

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 id ="id" name="id">';
    echo '<option value = "1" class = "pending">Pending</option>';
    echo '<option value = "2" class = "approved">Approved</option>';
    echo '<option value = "3" class ="disapproved">Disapproved</option>';
    echo '</select>';
    echo '</td>';
    echo '</tr>';
4

4 回答 4

2

听起来选定的状态应该是订单的一个属性。因此,您应该对 PHP(或任何您的服务器端语言)进行 ajax 调用,以在选择框更改时更新状态。选择框本身应该类似于:

echo '<select id ="id" name="id">';
echo '<option value = "1" class = "pending"' . ($row['status'] == 'Pending' ? ' selected=selected' : '') . '>Pending</option>';
echo '<option value = "2" class = "approved"' . ($row['status'] == 'Approved' ? ' selected=selected' : '') . '>Approved</option>';
echo '<option value = "3" class ="disapproved"' . ($row['status'] == 'Disapproved' ? ' selected=selected' : '') . '>Disapproved</option>';
echo '</select>';

我不认为cookie是必要的

于 2012-09-07T12:55:03.077 回答
1

您可以将选定的值存储在 cookie 中,看看jquery cookie插件。

或者,如果您能够以某种方式识别用户,您可以将值存储在服务器上并立即呈现。但是当您声明时,即使在注销后也应该保留所选值,无论如何您都需要 cookie 来存储一些标识令牌。

于 2012-09-07T12:44:03.133 回答
0

只需执行以下 jquery 和 ajax 代码即可

$('#id').change(function(){
   var val = $('#id').val();
   $.ajax({
        type: 'POST',
        url: '',//url of the file
        data: val,
        success: function(msg){
      }
    });
});
于 2012-09-07T12:51:34.040 回答
0

JQuery UI上有一个很好的例子,它使用了一个自动完成框。恕我直言,比选择下拉菜单好得多。它具有所有 AJAX 功能,只需几行代码即可获得一个工作示例:

<script>
    $(function() {
        $( "#birds" ).autocomplete({
            source: "search.php",
            minLength: 2,
            select: function( event, ui ) {
                log( ui.item ?
                    "Selected: " + ui.item.value + " aka " + ui.item.id :
                    "Nothing selected, input was " + this.value );
            }
        });
    });
    </script>
于 2012-09-07T12:51:39.013 回答