yii2 — PHP: установить второй вариант раскрывающегося списка в зависимости от первого варианта раскрывающегося списка, используя kartik Select2

У меня есть приложение, использующее фреймворк yii2.
Я пытаюсь использовать опцию выбора (выпадающий выбор), и я использую Картик Селект2.

Это вид моей опции выбора
введите описание изображения здесь

На картинках выше вы можете видеть, что у меня есть два варианта выбора, но у меня есть условие. Это условие.

Мой первый выпадающий вариант (номер транзакции) содержат 2 варианта, есть

  1. купить
  2. продавать

и если пользователь выбирает 1. Buyвторой вариант выпадающего списка (способ оплаты) покажет

  1. Денежные средства
  2. Электронная транзакция
    как варианты, так и покажу 1. Cash только как опция, если пользователь выбирает 2. Sell,

Как я могу сделать это с помощью Kartik Select2?

Любая помощь будет оценена.

Благодарю.

0

Решение

Согласно вашему требованию, вам необходимо обновить второй вариант раскрывающегося списка на основе первого раскрывающегося списка. Сначала назначьте идентификаторы для выпадающих списков, первый идентификатор будет первым раскрывающимся списком, а второй идентификатор будет вторым раскрывающимся списком. добавьте ниже код внутри в первом событии изменения выпадающего.

// 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);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]