【问题标题】:PHP: Set second dropdown options based on first dropdown choosen option using kartik Select2PHP:使用kartik Select2根据第一个下拉选择选项设置第二个下拉选项
【发布时间】:2017-03-23 11:46:31
【问题描述】:

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

这是我的选择选项的视图

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

我的第一个下拉选项(transaction id)包含2个选项,有

  1. 购买
  2. 出售

如果用户选择1. Buy,则会显示第二个下拉选项(付款方式

  1. 现金
  2. 电子货币交易 作为选项,如果用户选择 2. Sell,则仅将 1. Cash 显示为选项。

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

我们将不胜感激。

谢谢。

【问题讨论】:

  • 需要你已有的相关代码。

标签: php yii2 select2 kartik-v


【解决方案1】:

根据您的要求,您需要根据第一个下拉菜单更新第二个下拉选项。首先为下拉列表分配 id,第一个 id 将是 first-dropdown,第二个 id 将是 second-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);

【讨论】:

    猜你喜欢
    • 2015-12-01
    • 2019-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    相关资源
    最近更新 更多