0

我有一个从数据库动态填充的表单。使用 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 包含选择值,而 order selected 包含用户选择的复选框。如果复选框设置为 true,则会向用户发送一封电子邮件,更新他们的订单状态。我想做这个前端,因为复选框的值不需要永久设置。我的主要问题是知道选择了什么顺序,确保正确的复选框设置为 true。

非常感谢

4

1 回答 1

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);
    }
});
于 2013-03-20T13:32:52.010 回答