PHP:使用kartik Select2基于第一个下拉选择选项设置第二个下拉选项

PHP:使用kartik Select2基于第一个下拉选择选项设置第二个下拉选项,php,yii2,select2,kartik-v,Php,Yii2,Select2,Kartik V,我有一个使用yii2框架的应用程序。 我正在尝试使用选择选项(下拉选择),并使用Kartik Select2 这是“我的选择”选项的视图 在上面的图片中,你们可以看到我有两个选择选项,但我有条件。这就是条件 我的第一个下拉选项(事务id)包含两个选项,有 买 出售 如果用户选择1。购买,将显示第二个下拉选项(付款方式) 现金 电子货币交易 作为选项,并将显示1。现金仅在用户选择2时作为选项。出售 如何使用Kartik Select2执行此操作? 任何帮助都将不胜感激 谢谢。根据您的要求,您需要

我有一个使用yii2框架的应用程序。 我正在尝试使用选择选项(下拉选择),并使用Kartik Select2

这是“我的选择”选项的视图

在上面的图片中,你们可以看到我有两个选择选项,但我有条件。这就是条件

我的第一个下拉选项(事务id)包含两个选项,有

  • 出售
  • 如果用户选择
    1。购买
    ,将显示第二个下拉选项(付款方式

  • 现金
  • 电子货币交易 作为选项,并将显示
    1。现金
    仅在用户选择
    2时作为选项。出售
  • 如何使用Kartik Select2执行此操作?

    任何帮助都将不胜感激


    谢谢。

    根据您的要求,您需要根据第一个下拉菜单更新第二个下拉菜单选项。首先为下拉列表分配id,第一个id将是第一个下拉列表,第二个id将是第二个下拉列表。在您的第一个下拉更改事件中添加以下代码

    // get first dropdown value here
    var firstDropdownValue = $("#first-dropdown").select2("val");
    
    
    var $secondDropdown = $('#second-dropdown');
    
    // get all second dropdown options
    var options = $secondDropdown.data('select2').options.options;
    
    // delete all options of the native select element
    $secondDropdown.html('');
    
    // build new items
    var items = [];
    
    items.push({
        "id": 1,  // value of option
        "text": 'Cash' // name of option
    });
    
    $secondDropdown.append("<option value=\"1\">Cash</option>");
    
    // check the first dropdown value and add E-money option
    if(firstDropdownValue == 1){
        items.push({
            "id": 2,
            "text": 'E-money'
        });
    
        $secondDropdown.append("<option value=\"2\">E-money</option>");
    }
    
    // add new items
    options.data = items;
    $secondDropdown.select2(options);
    
    //在此处获取第一个下拉列表值
    var firstDropdownValue=$(“#first DropDownValue”)。选择2(“val”);
    var$secondDropdown=$(“#secondDropdown”);
    //获取所有第二个下拉选项
    var options=$secondDropdown.data('select2').options.options;
    //删除本机select元素的所有选项
    $secondDropdown.html(“”);
    //创建新项目
    var项目=[];
    推({
    “id”:1,//选项的值
    “text”:“Cash”//选项名称
    });
    $secondDropdown.append(“现金”);
    //选中第一个下拉值并添加电子货币选项
    if(firstDropdownValue==1){
    推({
    “id”:2,
    “文本”:“电子货币”
    });
    $secondDropdown.append(“电子货币”);
    }
    //添加新项目
    options.data=项目;
    $second下拉列表。选择2(选项);
    
    需要您已有的相关代码。