我有一个从数据库动态填充的表单。使用while循环显示结果。我有一个状态下拉,有三个选项可以更改订单的状态。然后,用户必须选择一个复选框,以根据所做的选择将订单的状态通过电子邮件发送给另一个用户。这当前有效,但是我想通过在选择下拉列表中的选项后将复选框设置为true来自动执行此过程,而不是手动单击复选框。生成这些结果的代码如下所示:
echo '<select id="order_status" name="order_status['.$i.']" id="id" onchange="showUser(this.value)" >';
echo '<option value = "Pending" name="order_status['.$i.']" class = "pending"' . ($row['status'] == 'Pending' ? ' selected=selected' : '') . '>Pending</option>';
echo '<option value = "Approved" name="order_status['.$i.']" class = "approved"' . ($row['status'] == 'Approved' ? ' selected=selected' : '') . '>Approved</option>';
echo '<option value = "Disapproved" name="order_status['.$i.']" class ="disapproved"' . ($row['status'] == 'Disapproved' ? ' selected=selected' : '') . '>Disapproved</option>';
echo '</select>';
echo '<td><input type="checkbox" name="order_selected['.$i.']"/></td>';
echo '</td>';
其中order_status包含选择值,所选的顺序包含用户选择的复选框。如果复选框设置为true,则会向用户发送一封电子邮件,并根据订单状态更新它们。我想做这个前端因为复选框的值不需要永久设置。我的主要问题是知道选择了哪个订单,确保将正确的复选框设置为true。
非常感谢
答案 0 :(得分:1)
我将摆脱select标签中的onchange属性
echo '<select id="order_status" name="order_status['.$i.']" id="id">';
echo '<option value = "Pending" name="order_status['.$i.']" class = "pending"' . ($row['status'] == 'Pending' ? ' selected=selected' : '') . '>Pending</option>';
echo '<option value = "Approved" name="order_status['.$i.']" class = "approved"' . ($row['status'] == 'Approved' ? ' selected=selected' : '') . '>Approved</option>';
echo '<option value = "Disapproved" name="order_status['.$i.']" class ="disapproved"' . ($row['status'] == 'Disapproved' ? ' selected=selected' : '') . '>Disapproved</option>';
echo '</select>';
echo '<td><input type="checkbox" name="order_selected['.$i.']"/></td>';
echo '</td>';
然后用jQuery处理它全部
$(document).on('change', 'id', function() {
if (this.value == "Pending") { //Change to whatever should auto check the box
$("input[type='checkbox']").prop("checked", true);
}
});