使用 Kartik Select2 根据第一个下拉选项设置第二个下拉选项

问题描述 投票:0回答:1

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

这是我选择选项的视图:

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

我的第一个下拉选项(交易ID)包含2个选项,它们是:

  1. 购买
  2. 出售

如果用户选择

1. Buy
,第二个下拉选项(付款方式)将显示

  1. 现金
  2. 电子货币交易 作为选项,并且仅当用户选择
    1. Cash
    时才会显示
    2. Sell
    作为选项。

如何使用 Kartik Select2 做到这一点?

php yii2 jquery-select2 kartik-v
1个回答
0
投票

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

// 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);
© www.soinside.com 2019 - 2024. All rights reserved.