好的。请参阅底部屏幕截图以了解前端的说明。我在这里要做的是当用户在选择表单中进行选择时,即:选择Received,我想直接在选择表单的底部获取输入框的值并通过 $.post 将其发送到另一个脚本以便我处理它。
我似乎无法通过 $.post 获取数据以读取输入框中的值。主要关注点应该在 $.post 区域。我尝试使用 $('.order_item_id').val(); 在我的 $.post 数据中,但无论我从哪个选择框进行选择,我都只能获得第一个输入框下的值。
这是我的 javascript 和 php 部分。
.js
$('.order_stat_sel').change(function(){
var closest_div=$(this).closest('div.order_receipt');
var closest_selectbox=$(this).closest('.order_stat_sel');
if($('.select_received:selected').length>0){
if(confirm('Confirm Receipt of this item?')){
$.post("/seller/buyer_cfm_receive.php",{order_item_id: $(this).closest('.order_item_id').val()}, function(data) {
alert("Congrats, Order Item Completed" + data);
closest_div.append('<p>Completed</p>');
closest_selectbox.remove().fadeOut("slow");
});
}else{
$('.order_stat_sel').val('p');
}
}
});
php
if($this->orderstatuses[$item->order_status]!='received'){
echo '<select class="order_stat_sel" name="order_status">';
echo '<option class="select_pending" value="'.$pendingitem_state[2].'">'.$pendingitem_state[3].'</option>';
echo '<option class="select_received" value="'.$enditem_state[2].'">'.$enditem_state[3].'</option>';
echo '</select>';
}?>
<form class="send_order_cfm_input">
<input class="order_item_id" name="order_item_id" value="<?php echo $item->virtuemart_order_item_id;?>" type="text" readonly="readonly">
</form>
任何帮助表示赞赏