基于多个条件的jQuery下拉框

时间:2018-12-06 06:23:09

标签: javascript laravel

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

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

我在数据库“ payed”中有一个字段,该字段的值为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"] }}'
    });
});  

任何帮助,将不胜感激。

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:0)

我有“类别”和“子类别”下拉列表的代码。选择类别后,所选类别将使用category_id在另一个下拉列表中显示子类别。我在这里共享代码,希望根据下面的代码可以轻松解决您的问题。

$(document).ready(function() {
    $('select[name="category"]').on('change', function() {
        var categoryID = $(this).val();
        if(categoryID) {
            $.ajax({
                url: "{{ url('/product/subcategory') }}/"+categoryID,
                type: "GET",
                dataType: "json",
                success:function(data) {

                    if(data == "error"){
                        $('select[name="subcategory"]').html('<option value="">Selected Category has No SubCategories</option>').attr("disabled",true);
                    }
                    else{
                        $('select[name="subcategory"]').html('<option value="">Select Sub Category</option>').attr("disabled",false);;
                        $.each(data, function(key, value) {
                            $('select[name="subcategory"]').append('<option value="'+ value.id +'">'+ value.sub_category +'</option>');
                        });
                    }
                }
            });
        }else{
            $('select[name="subcategory"]').html('<option value="">First Select Category</option>').attr("disabled",true);
        }
    });
});