[英]Correct method to store option values in a select box
很抱歉發布一個已發布的問題,但我真的很難讓這個功能發揮作用。 當我更改選擇框選項值時,我希望它在頁面刷新或注銷時保持不變。 我必須使用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>';
您可以在cookie中存儲選定的值,看看jquery cookie插件。
或者,如果您能夠以某種方式識別用戶,則可以將值存儲在服務器上並立即呈現。 但是當你陳述時,即使在注銷之后應該保留所選擇的值,你仍然需要cookie來存儲一些識別令牌。
聽起來所選狀態應該是訂單的屬性。 因此,您應該對PHP(或任何服務器端語言)進行ajax調用,以便在selectbox更改時更新狀態。 選擇框本身應該類似於:
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>';
我不認為餅干是必要的
只需執行以下jquery和ajax代碼即可
$('#id').change(function(){
var val = $('#id').val();
$.ajax({
type: 'POST',
url: '',//url of the file
data: val,
success: function(msg){
}
});
});
在使用自動完成框的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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.