Оставить выбранным параметр из выпадающего списка

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
skynin
Сообщения: 400
Зарегистрирован: 2017.12.12, 10:09

Re: Оставить выбранным параметр из выпадающего списка

Сообщение skynin »

-- потому думается лучше привязать каждый список к своей переменной.
если список одинаков, то он - одинаков.
и он у вас не переменная, а константа, постоянный, неизменный, захардкоженный.

-- привязать каждый список
список не привязывается.
Yii на основе php данных и своих алгоритмов генерирует html.
И дальше - работает браузер.
Почему Yii генерирует не тот html что вам нужен?
А что вы написали - с того Yii и пытается нагенерить.
Почему вы так написали - вот и вопрос.

ответить на который не поможет:
гуглю безрезультатно уже неделю
:)

-- Но мне необходимо прописать логику выдачи результата
Расскажете об этой логике?
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
andrej3337
Сообщения: 46
Зарегистрирован: 2019.11.03, 16:02

Re: Оставить выбранным параметр из выпадающего списка

Сообщение andrej3337 »

skynin писал(а): 2020.09.01, 11:38 -- Но мне необходимо прописать логику выдачи результата
Расскажете об этой логике?
Это довольно сложно, поэтому и предприянята попытка построения некого алгоритма с выводом конечного результата для дальнейшего принятия решения для экономии времени ежечасном рисовании схемы на бумажке.

zachet.pro - здесь она по большей части реализована. Если мы видим зависимость от разного статуса участвующих в схеме субъектов, то мы выдаем результат их связей и возможные легальные схемы взаимовыгодного закрытия долгов.
skynin
Сообщения: 400
Зарегистрирован: 2017.12.12, 10:09

Re: Оставить выбранным параметр из выпадающего списка

Сообщение skynin »

теперь вроде понятней откуда у вас получилось не значение, а массив
на zachet.pro html код
select name="status[]" id="status1"

тогда, похоже
либо как выше писал, разберитесь или допишите штатный dropDownList, чтобы он генерил такой же html
Это yii\widgets\ActiveField::dropDownList
Свой ActiveField придется еще прокинуть в ActiveForm, думаю DI вполне fieldClass проинжектит

либо надо свой load сделать, чтобы то что придет POSTом - модель разложила чтобы понятно было для рендеринга Yii.
Но, вопрос следующий возникает:
не придется ли переписывать https://zachet.pro/assets/js/my.js под стандартный HTML код, что генерит Yii?

Думаю что свой dropDownList - наименее затратно.
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
unknownby
Сообщения: 749
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Оставить выбранным параметр из выпадающего списка

Сообщение unknownby »

andrej3337 писал(а): 2020.09.01, 11:25 Но мне необходимо прописать логику выдачи результата исходя из того что пользователь выберет во всех возможных вариациях этих 4 выпадающих списков, потому думается лучше привязать каждый список к своей переменной. Но попробую воспользоваться вашим советом и распечатаю результат, если с этими данными можно будет работать, то вариант неплохой.
Тут никоим образом не затрагивает логику.
Просто определяется массив и потом используется во всех dropDownList
Вот пример

Код: Выделить всё

$arr = ['1' => 'Кредитор', '2' => 'Должник'];

$form->field($model, 'status1', ['enableLabel' => false])->dropDownList(
$arr,
[
	'class' => 'custom-select custom-select-lg mb-3',
	'prompt' => 'Выберете статус контрагента',
]);

$form->field($model, 'status2', ['enableLabel' => false])->dropDownList(
$arr,
[
	'class' => 'custom-select custom-select-lg mb-3',
	'prompt' => 'Статус к первому',
]);
unknownby
Сообщения: 749
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Оставить выбранным параметр из выпадающего списка

Сообщение unknownby »

skynin писал(а): 2020.09.01, 12:55 либо надо свой load сделать, чтобы то что придет POSTом - модель разложила чтобы понятно было для рендеринга Yii.
В данном случае наверняка всё проще, чем кажется :)
Пусть заменит для начала status1[] на status1, чтобы параметр приходил "1" или "2" и возвращало ему потом этот же идентификатор для поля. Ну и посмотрит контроллер свой :D
skynin
Сообщения: 400
Зарегистрирован: 2017.12.12, 10:09

Re: Оставить выбранным параметр из выпадающего списка

Сообщение skynin »

-- Пусть заменит для начала status1[] на status1, чтобы параметр приходил "1" или "2"
если до этого не был просто status1 и специального поставил status1[] :)

а если просто мимодумно поставил [], то да, и спрашивать бесполезно - зачем. Сам не знает.
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
andrej3337
Сообщения: 46
Зарегистрирован: 2019.11.03, 16:02

Re: Оставить выбранным параметр из выпадающего списка

Сообщение andrej3337 »

Ребят, я конечно "не знает". Я ж юрист, а не программист. Просто подхожу к решению проблемы когда она возникает -> решаю (вот сейчас в том числе с вашей помощью). Спасибо за направление, думаю получится.
unknownby
Сообщения: 749
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Оставить выбранным параметр из выпадающего списка

Сообщение unknownby »

andrej3337 писал(а): 2020.09.01, 13:23 Я ж юрист, а не программист.
Ну тогда всё понятно :D
andrej3337
Сообщения: 46
Зарегистрирован: 2019.11.03, 16:02

Re: Оставить выбранным параметр из выпадающего списка

Сообщение andrej3337 »

Спасибо, мужики, все пашет!
Закрыто