首页 > 解决方案 > 基于多个条件的jquery下拉框

问题描述

我正在尝试创建一个基于多个条件显示选项的下拉框,我让它根据其上方框的选择过滤结果,但我也希望它仅显示基于数据库中的字段的结果。

例如,您要分配付款,您在第一个框中选择客户,在第二个框中显示分支机构,在第三个框中选择该客户的发票,我希望它只显示客户的发票选择分支,然后也只有未支付的发票。

我在数据库“付费”中有一个字段,该字段的值为 0 或 1。

我正在使用 laravel,这是我目前拥有的代码:

 $(document).ready(function () {
    $("#customer").jCombo("{!! url('admin/payments/comboselect?filter=tbl_customers:id:tradingName') !!}", {
        selected_value: '{{ $row["customer"] }}'
    });

    $("#customerBranch").jCombo("{!! url('admin/payments/comboselect?filter=tbl_customerBranches:id:branchName') !!}&parent=customer:", {
        parent: '#customer',
        selected_value: '{{ $row["customerBranch"] }}'
    });

    $("#invoice").jCombo("{!! url('admin/payments/comboselect?filter=tbl_invoice:id:invoiceNumber') !!}&parent=customer:", {
        parent: '#customer',
        selected_value: '{{ $row["invoice"] }}'
    });
});  

对此的任何帮助将不胜感激。

标签: javascriptlaravel

解决方案


要仅获取所选客户分支的发票,您需要将发票的父级保留为“customerBranch”。

$("#invoice").jCombo({
 url: 'admin/payments/comboselect?filter=tbl_invoice:id:invoiceNumber' ,
 parent: '#customerBranch',
 selected_value : '{{ $row["invoice"] }}'
});

要获取未支付的发票,您需要更新查询添加

->where('paid',0)->get(); 

推荐阅读