Страница 1 из 1

Ajax Запрос - как вывести ИД родителя?

Добавлено: 24 ноя 2021, 18:28
alcompstudio
Добрый день!

Хочу получить ИД родителя записи в поле Ajax Запрос, но вместо этого получаю Array.

Проверяю такой конструкцией:

http://joxi.ru/DmB5qDDHgKvwwr

Как построить правильно?
Версия 2.9.2

Re: Ajax Запрос - как вывести ИД родителя?

Добавлено: 24 ноя 2021, 21:23
Antonyous99
Так посмотрите, что там в этом array:

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

print_r($parent_item);

Re: Ajax Запрос - как вывести ИД родителя?

Добавлено: 24 ноя 2021, 22:23
alcompstudio
Antonyous99 писал(а): 24 ноя 2021, 21:23 Так посмотрите, что там в этом array:

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

print_r($parent_item);
Спасибо, уже глянул в инструкцию, оказалось, что нужно вытаскивать через $_POST. Но проблема в другом у меня в целом:

Есть сущности:

Ставки
- Транспортные средства (ТС)

И там и там есть однотипное поле сущность аякс, которое связано с одной и той же сущностью (сторонней). Так вот я хочу передавать при создании записи в ТС значение из родителя Ставки (т.е. в ставках заполнено поле Сущность Аякс и его же нужно поместить в такое же поле Сущность Аякс дочерней записи ТС - "передать").

Использую такой код

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

$parent_item = $_POST['parent_item_id'];

$tk_query = db_query("select field_1481 from app_entity_88 where id=" . $parent_item);
if($tk = db_fetch_array($tk_query))
{

  echo '<script>$("#fields_5899").val(' . $tk['id'] . ').trigger("change").trigger("chosen:updated")</script>';
  
}
где 1481 - поле Сущность Аякс в Ставках (ИД 88 - родитель)
5899 - Сущность Аякс в ТС (дочерний).

Результат кода такой:

http://prntscr.com/20ss9c3

Даже пытался принудительно вставить полученный ИД 441 в поле через код

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

$tk1 = '441';
  
    echo '<script>$("#fields_5899").val(' . $tk1 . ').trigger("change").trigger("chosen:updated")</script>';
но, похоже или что-то не так делаю, или с полем Аякс такое не работает...

Re: Ajax Запрос - как вывести ИД родителя?

Добавлено: 25 ноя 2021, 01:36
Antonyous99
Так вы выбираете только одно поле 1481:

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

...select field_1481 from app_entity_88...
Надо добавить ID

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

...select field_148,id from app_entity_88...
Или вообще всю строку выбирать

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

...select * from app_entity_88...
Теперь вы сможете обращаться к значению полей, как к элементам массива, например:
$tk['id'] $tk['field_148'] и так далее

Re: Ajax Запрос - как вывести ИД родителя?

Добавлено: 25 ноя 2021, 10:56
alcompstudio
Antonyous99 писал(а): 25 ноя 2021, 01:36 Так вы выбираете только одно поле 1481:
...
Да, именно его ИД мне и нужно. Т.е. это поле сущность аякс, мне его нужно считать и передать в другое поле 5899.

Ваша подсказка навела на мысль, спасибо, но чуть по другому нашел )

http://joxi.ru/Vm6El77SRN8blr

Теперь проблема именно в подстановке этого значение в поле 5899 текущей сущности. Предполагаемый код, который должен это сделать, не работает

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

echo '<script>$("#fields_5899").val(' . $tk['1481'] . ').trigger("change").trigger("chosen:updated")</script>';
В итоге, хочу, чтобы в форме в поле 5899 было размещено значение http://joxi.ru/D2PkGQQFBN8vLm

Re: Ajax Запрос - как вывести ИД родителя?

Добавлено: 25 ноя 2021, 11:19
support
Теперь проблема именно в подстановке этого значение в поле 5899 текущей сущности. Предполагаемый код, который должен это сделать, не работает
Для ajax поля этот код не подходит. Он для обычного списке, где используется библиотека "chosen"

Для ajax списка, где самого списка в форме нет, так как значения выбираются через ajax запрос, вам нужно подставить свое значение в список и затем выбрать его

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

$('#fields_5899').append('<option value="1">optionText</option>').val(1).trigger("change");
1 - это ID значения
optionText - название значения.

Re: Ajax Запрос - как вывести ИД родителя?

Добавлено: 26 ноя 2021, 11:32
alcompstudio
support писал(а): 25 ноя 2021, 11:19
Теперь проблема именно в подстановке этого значение в поле 5899 текущей сущности. Предполагаемый код, который должен это сделать, не работает
Для ajax поля этот код не подходит. Он для обычного списке, где используется библиотека "chosen"

Для ajax списка, где самого списка в форме нет, так как значения выбираются через ajax запрос, вам нужно подставить свое значение в список и затем выбрать его

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

$('#fields_5899').append('<option value="1">optionText</option>').val(1).trigger("change");
1 - это ID значения
optionText - название значения.
Спасибо за подсказку, но тут мои познания заканчиваются.. ) Как это использовать... ? "optionText" - это для чего и как его "вытащить" ?

Я получаю ID значения в "$tk['field_1481'];"

echo $tk['field_1481'];

Значит код как-то так должен выглядеть?

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

$parent_item = $_POST['parent_item_id'];

$tk_query = db_query("select field_1481 from app_entity_88 where id=" . $parent_item);
if($tk = db_fetch_array($tk_query))
{
	//echo $tk['field_1481'];

echo '<script>$('#fields_5899').append('<option value="1">optionText</option>').val(' . $tk['field_1481'] . ').trigger("change")</script>';
}
а это выражение

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

'<option value="1">optionText</option>'
как правильно записать?

Re: Ajax Запрос - как вывести ИД родителя?

Добавлено: 26 ноя 2021, 12:40
support
value="1" - вместо 1 нужно указать id родительской записи.
optionText - выбрать поле заголовок из родительской записи