0

すでに投稿された質問を投稿して申し訳ありませんが、この機能を機能させるのに本当に苦労しています。選択ボックスのオプションの値を変更したときに、ページの更新時またはログアウト時に同じ値を維持したい。これを機能させるには、AJAX/PHP を使用する必要がありますか? 私はこれを無駄にしようとしました。ドロップダウン選択時にDB更新機能を実行可能

私のコードは次のようになります:

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>';

クッキーは必要ないと思う

于 2012-09-07T12:55:03.077 に答える
1

選択した値を Cookie に保存できます。jquery Cookieプラグインをご覧ください。

または、何らかの方法でユーザーを識別できる場合は、値をサーバーに保存してすぐにレンダリングできます。ただし、選択した値はログアウト後も保持する必要があると述べた場合、とにかく識別トークンを保存するために Cookie が必要になります。

于 2012-09-07T12:44:03.133 に答える
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 に答える
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 に答える